diff --git a/content/zh-cn/docs/reference/kubernetes-api/policy-resources/pod-disruption-budget-v1.md b/content/zh-cn/docs/reference/kubernetes-api/policy-resources/pod-disruption-budget-v1.md index 9590a2f649..128786695a 100644 --- a/content/zh-cn/docs/reference/kubernetes-api/policy-resources/pod-disruption-budget-v1.md +++ b/content/zh-cn/docs/reference/kubernetes-api/policy-resources/pod-disruption-budget-v1.md @@ -122,6 +122,41 @@ PodDisruptionBudgetSpec 是对 PodDisruptionBudget 的描述。 标签查询,用来选择其驱逐由干扰预算来管理的 Pod 集合。 选择算符为 null 时将不会匹配任何 Pod,而空 ({}) 选择算符将选中名字空间内的所有 Pod。 +- **unhealthyPodEvictionPolicy** (string) + + + unhealthyPodEvictionPolicy 定义不健康的 Pod 应被考虑驱逐时的标准。 + 当前的实现将健康的 Pod 视为具有 status.conditions 项且 type="Ready"、status="True" 的 Pod。 + + 有效的策略是 IfHealthyBudget 和 AlwaysAllow。 + 如果没有策略被指定,则使用与 IfHealthyBudget 策略对应的默认行为。 + + + IfHealthyBudget 策略意味着正在运行(status.phase="Running")但还不健康的 Pod + 只有在被守护的应用未受干扰(status.currentHealthy 至少等于 status.desiredHealthy) + 时才能被驱逐。健康的 Pod 将受到 PDB 的驱逐。 + + AlwaysAllow 策略意味着无论是否满足 PDB 中的条件,所有正在运行(status.phase="Running")但还不健康的 + Pod 都被视为受干扰且可以被驱逐。这意味着受干扰应用的透视运行 Pod 可能没有机会变得健康。 + 健康的 Pod 将受到 PDB 的驱逐。 + + + 将来可能会添加其他策略。如果客户端在该字段遇到未识别的策略,则做出驱逐决定的客户端应禁止驱逐不健康的 Pod。 + + 该字段是 Alpha 级别的。当特性门控 PDBUnhealthyPodEvictionPolicy 被启用(默认禁用)时,驱逐 API 使用此字段。 + ## PodDisruptionBudgetStatus {#PodDisruptionBudgetStatus}