我想使用Kubernetes API(v1beta1)更改部署的复制(pods)数量.
现在,我可以使用以下命令从CLI增加副本:
kubectl scale --replicas=3 deployment my-deployment
Run Code Online (Sandbox Code Playgroud)
在Kubernetes API文档中,提到有一个PUT请求也是如此
PUT /apis/extensions/v1beta1/namespaces/{namespace}/deployments/{name}/scale
Run Code Online (Sandbox Code Playgroud)
但是没有如何做到这一点的例子.
我不确定在请求正文中发送什么以执行更新.
我是Kubernetes的新手,使用的是k8s v1.4,Minikube v0.15.0和Spotify maven Docker插件.
我的项目的构建过程创建了一个Docker镜像,并将其直接推送到Minikube的Docker引擎中.
pod是由我创建的部署(使用副本集)创建的,策略设置为type: RollingUpdate.
我在文档中看到了这个:
注意:当且仅当部署的pod模板(即.spec.template)发生更改时,才会触发Deployment的部署.
我正在寻找一种简单的方法/解决方法来自动化流程:构建触发>推送新的Docker镜像(更改版本)>部署将更新pod>服务将公开新的pod.
我已经使用RabbitMQ的网络的用户界面的话题交换创造TX并绑定到交换两个队列TX.Q1和TX.Q2,每个路由键绑定RK1和RK2因此,和产生的交流几条消息.
现在我想使用Spring Cloud Stream创建一个消费者,它只接收来自Q1的消息.我尝试使用配置:
spring.cloud.stream.bindings.input.destination=TX
spring.cloud.stream.bindings.input.group=Q1
Run Code Online (Sandbox Code Playgroud)
以及使用@StreamListner(Sink.INPUT)消息的方法的注释.
结果我可以看到消费者创建了一个具有相同名称TX.Q1的队列(或绑定),但新队列/ bind的Routing-Key是#.
如何通过Spring Cloud Stream配置消费者,消费者将使用来自预定义队列的消息(仅限于使用rk1路由的消息).
我正在编写spring boot应用程序,它使用spring 配置,部署在关键的云代工厂上,并由Netflix Eureka作为发现服务/负载均衡器公开。
我创建了一个 bean,如下所示:
@Component
@ConfigurationProperties("config")
@RefreshScope
@Data
public class GeneralProperties {
private boolean ignoreEvent;
}
Run Code Online (Sandbox Code Playgroud)
/refresh在更改配置存储库中的实际属性后调用 Eureka 公开的应用程序路由时,@refreshScope注释的值已更改(以响应状态结束该字段),这意味着它正常工作。
当在云上运行同一应用程序的多个实例并调用/refresh.
beeing 使用的路由是 Eureka 公开的路由,它使用它的负载均衡器将调用路由到可用实例之一。
这会导致意想不到的结果,即并非所有实例都使用属性的最新更改进行更新。
任何建议如何将更改应用于所有实例?
我们最近从版本 2.0.0 升级到,在调用使用并且也具有Content-Typespring-cloud-starter-openfeign: 2.2.2 的 REST API 时遇到以下异常:consumes@RequestHeader
feign.FeignException$UnsupportedMediaType: [415] during [POST] to [http://localhost:8080/test]
[TestFeign#test(TestRequest,String)]: [{"timestamp":"2021-01-03T13:13:58.192+0000",
"status":415,"error":"Unsupported Media Type",
"message":"Invalid mime type \"application/json, application/json\":
Invalid token character ',' in token \"json, application/json\"","path":"/test"}]
Run Code Online (Sandbox Code Playgroud)
@RequestMapping(value = "/test",method = RequestMethod.POST,consumes= {"application/json"},
produces={"application/json"})
void test(@RequestBody TestRequest request,@RequestHeader("Content-Type") String contentType);
Run Code Online (Sandbox Code Playgroud)
我们进行了调查并发现,在这种情况下,两个值都按如下方式连接:
Content-Type: "application/json, application/json"
Run Code Online (Sandbox Code Playgroud)
使用时spring-cloud-starter-openfeign:2.0.0不会出现此问题。
java ×2
kubernetes ×2
spring ×2
spring-boot ×2
docker ×1
feign ×1
minikube ×1
openfeign ×1
rabbitmq ×1
spring-cloud ×1