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 a2382adf79..2472d474d0 100644 --- a/content/zh-cn/docs/concepts/workloads/pods/pod-lifecycle.md +++ b/content/zh-cn/docs/concepts/workloads/pods/pod-lifecycle.md @@ -315,7 +315,7 @@ data. When you use `kubectl` to query a Pod with a container that is `Waiting`, you also see a Reason field to summarize why the container is in that state. --> -### `Waiting` (等待) {#container-state-waiting} +### `Waiting`(等待) {#container-state-waiting} 如果容器并不处在 `Running` 或 `Terminated` 状态之一,它就处在 `Waiting` 状态。 处于 `Waiting` 状态的容器仍在运行它完成启动所需要的操作:例如, @@ -381,13 +381,12 @@ Kubernetes 通过在 Pod `spec` 中定义的 [`restartPolicy`](#restart-policy) (e.g., 10 minutes), Kubernetes resets the backoff delay, treating any new crash as the first one. --> - 1. **最初的崩溃**:Kubernetes 尝试根据 Pod 的 `restartPolicy` 立即重新启动。 1. **反复的崩溃**:在最初的崩溃之后,Kubernetes 对于后续重新启动的容器采用指数级回退延迟机制, - 如 [`restartPolicy`](#restart-policy) 中所述。 - 这一机制可以防止快速、重复的重新启动尝试导致系统过载。 + 如 [`restartPolicy`](#restart-policy) 中所述。 + 这一机制可以防止快速、重复的重新启动尝试导致系统过载。 1. **CrashLoopBackOff 状态**:这一状态表明,对于一个给定的、处于崩溃循环、反复失效并重启的容器, - 回退延迟机制目前正在生效。 + 回退延迟机制目前正在生效。 1. **回退重置**:如果容器成功运行了一定时间(如 10 分钟), Kubernetes 会重置回退延迟机制,将新的崩溃视为第一次崩溃。 +### 可配置的容器重启延迟 {#configurable-container-restart-delay} + +{{< feature-state feature_gate_name="KubeletCrashLoopBackOffMax" >}} + + +启用 Alpha 特性门控 `KubeletCrashLoopBackOffMax` 后, +你可以重新配置容器启动重试之间的最大延迟,默认值为 300 秒(5 分钟)。 +此配置是针对每个节点使用 kubelet 配置进行设置的。 +在你的 [kubelet 配置](/zh-cn/docs/tasks/administer-cluster/kubelet-config-file/)中, +在 `crashLoopBackOff` 下设置 `maxContainerRestartPeriod` 字段,取值范围在 `"1s"` 到 `"300s"` 之间。 +如上文[容器重启策略](#restart-policy)所述,该节点上的延迟仍将从 10 秒开始,并在每次重启后以指数方式增加 +2 倍,但现在其上限将被限制为你所配置的最大值。如果你配置的 `maxContainerRestartPeriod` 小于默认初始值 10 秒, +则初始延迟将被设置为配置的最大值。 + + +参见以下 kubelet 配置示例: + +```yaml +# 容器重启延迟将从 10 秒开始,每次重启增加 2 倍 +# 最高达到 100 秒 +kind: KubeletConfiguration +crashLoopBackOff: + maxContainerRestartPeriod: "100s" +``` + + +```yaml +# 容器重启之间的延迟将始终为 2 秒 +kind: KubeletConfiguration +crashLoopBackOff: + maxContainerRestartPeriod: "2s" +``` + +启用对可逐节点配置的、在重启 CrashLoopBackOff 状态的容器时回退最大值的支持。