我们有一个应用程序,其中有4个pod与负载均衡器一起运行!我们想尝试滚动更新,但我们不确定当pod崩溃时会发生什么!文档不清楚!特别是Termination Of Pods的引用:
Pod已从端点列表中删除以进行维护,并且不再被视为复制控制器的运行pod集的一部分。缓慢关闭的窗格可以继续为流量提供服务,因为负载平衡器(如服务代理)会将它们从旋转中移除。
所以,如果有人可以指导我们以下问题:
1。)当一个pod正在关闭时,它是否还可以提供新的请求?或负载均衡器不考虑它?
2。)它是否完成了它正在处理的请求,直到宽限期用完为止?然后即使任何进程仍在运行,也会杀死容器?
3.)此外,这提到了复制控制器,我们所拥有的是部署和部署有副本集,那么会有什么区别吗?
我们经历了这个问题,但答案是矛盾的,没有任何来源: Does a Kubernetes rolling-update gracefully remove pods from a service load balancer
答案 0 :(得分:4)
1)当Pod正在关闭时,状态变为Terminating
并且LoadBalancer不会考虑它 - 如Pod termination docs
2)是的 - 您可能希望查看pod.Spec.TerminationGracePeriodSeconds
配置以获得一些控制权。您可以在API documentation
3)否 - ReplicaSet和Deployment负责调度Pods,在Pods的关闭行为方面没有区别