kubernetes 的优雅终止 pods

Graceful termination of kubernetes pods

我们有一个带有 4 pods 运行 负载均衡器的应用程序!我们想尝试滚动更新,但我们不确定当 pod 宕机时会发生什么!文档不清楚!特别是 Termination Of Pods 中的这句话:

Pod is removed from endpoints list for service, and are no longer considered part of the set of running pods for replication controllers. Pods that shutdown slowly can continue to serve traffic as load balancers (like the service proxy) remove them from their rotations.

所以,如果有人可以指导我们解决以下问题:

1.) 当一个 pod 关闭时,它还能服务新的请求吗?还是负载均衡器不考虑?

2.) 它是否完成正在处理的请求直到宽限期用完?然后杀死容器,即使任何进程仍然 运行?

3.)另外,这里提到了replication controller,我们有一个Deployment,Deployment有replica sets,有区别吗?

我们解决了这个问题,但答案相互矛盾,没有任何来源:Does a Kubernetes rolling-update gracefully remove pods from a service load balancer

1) 当 Pod 关闭时,它的状态更改为 Terminating 并且 LoadBalancer 不考虑它 - 如 Pod termination 文档

中所述

2) 是的 - 您可能想查看 pod.Spec.TerminationGracePeriodSeconds 配置以获得一些控制。您可以在 API documentation

中找到详细信息

3) 否 - ReplicaSet 和 Deployment 负责调度 Pods,Pods

的关闭行为没有区别