update pod-lifecycle.md

Add  the EndpointSliceTerminatingCondition section
pull/40126/head
WanJie 2023-03-19 18:48:19 +08:00 committed by GitHub
parent 65ec8c6850
commit 2b72413ddb
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 20 additions and 3 deletions

View File

@ -912,6 +912,23 @@ An example flow:
和其他工作负载资源不再将关闭进程中的 Pod 视为合法的、能够提供服务的副本。
关闭动作很慢的 Pod 也无法继续处理请求数据,
因为负载均衡器(例如服务代理)已经在终止宽限期开始的时候将其从端点列表中移除。
<!--
{{<note>}}
If you don't have the `EndpointSliceTerminatingCondition` feature gate enabled
in your cluster (the gate is on by default from Kubernetes 1.22, and locked to default in 1.26), then the Kubernetes control
plane removes a Pod from any relevant EndpointSlices as soon as the Pod's
termination grace period _begins_. The behavior above is described when the
feature gate `EndpointSliceTerminatingCondition` is enabled.
{{</note>}}
-->
{{<note>}}
如果你的集群中没有启用 EndpointSliceTerminatingCondition 功能门
(该门从 Kubernetes 1.22 开始默认开启在1.26中锁定为默认),那么一旦 Pod 的终止宽限期开始Kubernetes 控制平面就会从任何相关EndpointSlices 中移除 Pod。上述行为是在 EndpointSliceTerminatingCondition 功能门被启用时描述的。
{{</note>}}
<!--
1. When the grace period expires, the kubelet triggers forcible shutdown. The container runtime sends
@ -921,14 +938,14 @@ An example flow:
to 0 (immediate deletion).
1. The API server deletes the Pod's API object, which is then no longer visible from any client.
-->
4. 超出终止宽限期限时,`kubelet` 会触发强制关闭过程。容器运行时会向 Pod
1. 超出终止宽限期限时,`kubelet` 会触发强制关闭过程。容器运行时会向 Pod
中所有容器内仍在运行的进程发送 `SIGKILL` 信号。
`kubelet` 也会清理隐藏的 `pause` 容器,如果容器运行时使用了这种容器的话。
5. `kubelet` 触发强制从 API 服务器上删除 Pod 对象的逻辑,并将体面终止限期设置为 0
1. `kubelet` 触发强制从 API 服务器上删除 Pod 对象的逻辑,并将体面终止限期设置为 0
(这意味着马上删除)。
6. API 服务器删除 Pod 的 API 对象,从任何客户端都无法再看到该对象。
1. API 服务器删除 Pod 的 API 对象,从任何客户端都无法再看到该对象。
<!--
### Forced Pod termination {#pod-termination-forced}