K8s

pod容器更新,nacos网关调用出现失败错误,如何优雅的关闭Pod?

对于请求通过k8s的service层到达pod容器的情况,可以通过k8s优雅机制来确保pod容器在上线滚动更新期间,做到业务”无感知”。但是目前线上pod容器服务主动注册到nacos配置中心,业务方通过nacos网关调用pod容器服务,即调用请求绕过了k8s的service层。


这就出现了一个问题:pod容器更新期间,老pod已经优雅终止掉了,但是其ip和端口还在nacos的网关缓存里,调用请求会在nacos网关缓存未完全更新之前打到已经终止掉的pod地址,这就会出现连接超时,调用失败错误,从而造成业务流量损失。


已邀请:

Melody - 前端搬砖工程师

赞同来自: k8 云原生加速器

你说的这种情况,应当是要在pod销毁前,应用在nacos反注册完成后,才停掉pod,这样的话,才能实现真正的优雅关闭

Melody - 前端搬砖工程师

赞同来自: 云原生加速器

写个脚本获取nacos的信息,通过脚本判断是否正确注册和下线,然后调用k8s接口进行老pod下线就可以实现优雅关闭~

k8

赞同来自: 云原生加速器

还有一种更方更,就是应用程序一般会监听SIGTERM 信号,只要监听SIGTERM信息,应用程序自已就反注册下线,这样运维就不需要配了,我们现在用的这是种

要回复问题请先登录注册

咨询在线客服

1156141327

服务热线

13720071711

咨询时间 9:00 - 18:00

扫一扫联系我们

扫一扫联系我们