diff --git a/content/zh/docs/tasks/administer-cluster/safely-drain-node.md b/content/zh/docs/tasks/administer-cluster/safely-drain-node.md index 913067f642..28964d5f0a 100644 --- a/content/zh/docs/tasks/administer-cluster/safely-drain-node.md +++ b/content/zh/docs/tasks/administer-cluster/safely-drain-node.md @@ -1,5 +1,5 @@ --- -title: 确保 PodDisruptionBudget 的前提下安全地清空一个节点 +title: 确保 PodDisruptionBudget 的前提下安全地清空一个{{< glossary_tooltip text="节点" term_id="node" >}} content_type: task --- 例如,如果你有一个三副本的 StatefulSet, 并设置了一个 `PodDisruptionBudget`,指定 `minAvailable: 2`。 如果所有的三个 Pod 均就绪,并且你并行地发出多个 drain 命令, 那么 `kubectl drain` 只会从 StatefulSet 中逐出一个 Pod, -因为 Kubernetes 会遵守 PodDisruptionBudget 并确保在任何时候只有一个 Pod 不可用。 +因为 Kubernetes 会遵守 PodDisruptionBudget 并确保在任何时候只有一个 Pod 不可用(最多不可用 Pod 个数的计算方法:`replicas - minAvailable`)。 任何会导致就绪副本数量低于指定预算的清空操作都将被阻止。 +## 驱逐阻塞 + 在某些情况下,应用程序可能会到达一个中断状态,除了 429 或 500 之外,它将永远不会返回任何内容。 例如应用程序控制器创建的替换 Pod 没有准备好,或者被驱逐的最后一个 Pod 有很长的终止宽限期,就会发生这种情况。