一尘不染

如何重启Kubernetes服务的多个Spring Boot应用程序实例

spring-boot

我在3节点kubernetes集群上进行了Spring Boot服务A的负载均衡部署。

我还要求启用快速配置管理,而无需重建和部署完整的重新烘焙映像。

为此,我组合了一个Spring Boot配置服务器,并在服务A上实现了Actuator重新启动,当在本地单实例部署中调用其/
restart端点时,它会刷新并加载从配置服务器获取的属性。

到目前为止一切顺利,但是…

当将服务A部署在具有3、30或300个服务A实例的大规模k8s部署中时,如何实现上述目标?

负载平衡器必须像对待群集上的任何其他REST调用一样处理调用/ refresh终结点,这意味着它被路由到服务实例之一。

在springboot-on-k8s中有一种标准方法可以让我忽略每个LB来调用每个服务实例吗?


阅读 879

收藏
2020-05-30

共1个答案

一尘不染

我们实际上并没有使用执行器的重启,而是使用部署的rollingUpdate策略。当我们想“重启”豆荚时,我们发布一个kubectl补丁。

kubectl patch deployment web -p  "{\"spec\":{\"template\":{\"metadata\":{\"labels\":{\"date\":\"`date +'%s'`\"}}}}}"

良好的升级策略文档。

https://www.google.com/url?sa=t&source=web&rct=j&url=https://medium.com/platformer-
blog/enable-rolling-updates-in-kubernetes-with-zero-downtime-31d7ec388c81&ved=
2ahUKEwjIqtbW_bvfAhUKRY8KHas6DEkQjjgwAnoECAkQAQ&usg =
AOvVaw3HjD4CUoG4ma3HWxquaYjp&cshid =
1545776336374

2020-05-30