我在3节点kubernetes集群上进行了Spring Boot服务A的负载均衡部署。
我还需要启用快速配置管理,而无需重建和部署完整的重新烘焙映像。
为此,我整理了一个弹簧启动配置服务器,并在服务A上实现了Actuator重新启动,当在本地单实例部署上调用其/ restart端点时,它会刷新并加载从config-中获取的属性。服务器。到目前为止很好,但是...
当将服务A部署到具有3、30或300个服务A实例的大规模k8s部署中时,如何实现上述目标?
呼叫/ refresh终结点必须由负载均衡器处理,就像集群上的任何其他REST呼叫一样,这意味着它被路由到服务实例之一。
在springboot-on-k8s中有一种标准方法可以让每个服务实例忽略LB吗?
答案 0 :(得分:3)
我们实际上并没有使用执行器的重新启动,而是使用部署的rollingUpdate策略。当我们想“重启”豆荚时,我们发布一个kubectl补丁。
[-3.7073786, 40.4237274997222]
[-3.7022000999999998, 40.4052982997222]
[-3.69610249972222, 40.427829]
[-3.72050759972222, 40.4277548]
有关升级策略的良好文档。
答案 1 :(得分:0)
我不知道执行此操作的标准模式。
与服务选择器匹配的每个应用程序Pod将被注册为该服务的端点。如果运行kubectl get endpoints
,则应该看到支持服务的Pod的所有内部clusterIP。
您可以创建一些逻辑来为每个服务端点调用该/ refresh端点。