我在3节点kubernetes集群上进行了Spring Boot服务A的负载均衡部署。
我还要求启用快速配置管理,而无需重建和部署完整的重新烘焙映像。
为此,我组合了一个Spring Boot配置服务器,并在服务A上实现了Actuator重新启动,当在本地单实例部署中调用其/ restart端点时,它会刷新并加载从配置服务器获取的属性。
到目前为止一切顺利,但是…
当将服务A部署在具有3、30或300个服务A实例的大规模k8s部署中时,如何实现上述目标?
负载平衡器必须像对待群集上的任何其他REST调用一样处理调用/ refresh终结点,这意味着它被路由到服务实例之一。
在springboot-on-k8s中有一种标准方法可以让我忽略每个LB来调用每个服务实例吗?
我们实际上并没有使用执行器的重启,而是使用部署的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