From b5130362639674da47351a0c155f6ebb3449918e Mon Sep 17 00:00:00 2001 From: Guangwen Feng Date: Fri, 14 Apr 2023 17:25:39 +0800 Subject: [PATCH] [zh-cn] Sync pod-lifecycle.md Signed-off-by: Guangwen Feng --- .../concepts/workloads/pods/pod-lifecycle.md | 71 ++++++++++++++----- 1 file changed, 52 insertions(+), 19 deletions(-) diff --git a/content/zh-cn/docs/concepts/workloads/pods/pod-lifecycle.md b/content/zh-cn/docs/concepts/workloads/pods/pod-lifecycle.md index b944e99b70..1af273c7a4 100644 --- a/content/zh-cn/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/zh-cn/docs/concepts/workloads/pods/pod-lifecycle.md @@ -148,12 +148,13 @@ Pod 阶段的数量和含义是严格定义的。 下面是 `phase` 可能的值: 取值 | 描述 :-----|:----------- @@ -176,6 +177,18 @@ Pod 被赋予一个可以体面终止的期限,默认为 30 秒。 你可以使用 `--force` 参数来[强制终止 Pod](/zh-cn/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination-forced)。 {{< /note >}} + +从 Kubernetes 1.27 开始,除了[静态 Pod](/zh-cn/docs/tasks/configure-pod-container/static-pod/) +和没有 Finalizer 的[强制终止 Pod](/zh-cn/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination-forced) +之外,`kubelet` 会将已删除的 Pod 转换到终止阶段 +(`Failed` 或 `Succeeded` 具体取决于 Pod 容器的退出状态),然后再从 API 服务器中删除。 + -3. 在 `kubelet` 启动体面关闭逻辑的同时,控制面会将关闭的 Pod 从对应的 - EndpointSlice(和 Endpoints)对象中移除,过滤条件是 Pod +3. 在 `kubelet` 启动 Pod 的体面关闭逻辑的同时,控制平面会评估是否将关闭的 + Pod 从对应的 EndpointSlice(和端点)对象中移除,过滤条件是 Pod 被对应的{{< glossary_tooltip term_id="service" text="服务" >}}以某 {{< glossary_tooltip text="选择算符" term_id="selector" >}}选定。 {{< glossary_tooltip text="ReplicaSet" term_id="replica-set" >}} 和其他工作负载资源不再将关闭进程中的 Pod 视为合法的、能够提供服务的副本。 - 关闭动作很慢的 Pod 也无法继续处理请求数据, - 因为负载均衡器(例如服务代理)已经在终止宽限期开始的时候将其从端点列表中移除。 + 关闭动作很慢的 Pod 不应继续处理常规服务请求,而应开始终止并完成对打开的连接的处理。 + 一些应用程序不仅需要完成对打开的连接的处理,还需要更进一步的体面终止逻辑 - + 比如:排空和完成会话。任何正在终止的 Pod 所对应的端点都不会立即从 EndpointSlice + 中被删除,EndpointSlice API(以及传统的 Endpoints API)会公开一个状态来指示其处于 + [终止状态](/zh-cn/docs/concepts/services-networking/endpoint-slices/#conditions)。 + 正在终止的端点始终将其 `ready` 状态设置为 `false`(为了向后兼容 1.26 之前的版本), + 因此负载均衡器不会将其用于常规流量。 + 如果需要排空正被终止的 Pod 上的流量,可以将 `serving` 状况作为实际的就绪状态。 + 你可以在教程 + [探索 Pod 及其端点的终止行为](/zh-cn/docs/tutorials/services/pods-and-endpoint-termination-flow/) + 中找到有关如何实现连接排空的更多详细信息。 + {{}}