小编yuv*_*hon的帖子

使用Kubernetes API管理要部署的副本计数

我想使用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

13
推荐指数
2
解决办法
3990
查看次数

在Kubernetes中更新部署映像

我是Kubernetes的新手,使用的是k8s v1.4,Minikube v0.15.0和Spotify maven Docker插件.
我的项目的构建过程创建了一个Docker镜像,并将其直接推送到Minikube的Docker引擎中.

pod是由我创建的部署(使用副本集)创建的,策略设置为type: RollingUpdate.

我在文档中看到了这个:

注意:当且仅当部署的pod模板(即.spec.template)发生更改时,才会触发Deployment的部署.


我正在寻找一种简单的方法/解决方法来自动化流程:构建触发>推送新的Docker镜像(更改版本)>部署将更新pod>服务将公开新的pod.

docker kubernetes minikube

12
推荐指数
2
解决办法
9033
查看次数

使用Spring Cloud Stream将RabbitMQ消费者绑定到现有队列

我已经使用RabbitMQ的网络的用户界面的话题交换创造TX并绑定到交换两个队列TX.Q1TX.Q2,每个路由键绑定RK1RK2因此,和产生的交流几条消息.

现在我想使用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路由的消息).

java spring rabbitmq spring-cloud-stream

6
推荐指数
1
解决办法
2716
查看次数

在使用 @refreshScope 注释的多个实例上应用 /refresh

我正在编写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 公开的路由,它使用它的负载均衡器将调用路由到可用实例之一。

这会导致意想不到的结果,即并非所有实例都使用属性的最新更改进行更新。

任何建议如何将更改应用于所有实例?

java cloud-foundry spring-boot netflix-eureka spring-config

6
推荐指数
1
解决办法
1550
查看次数

内容类型标头值导致 UnsupportedMediaType 415 OpenFeign

我们最近从版本 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)
我们的 Feign 接口定义如下:
@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不会出现此问题。

spring spring-boot spring-cloud feign openfeign

5
推荐指数
0
解决办法
832
查看次数