From 755daf7ce31b3260034d4a6f5b4a19c971eb7460 Mon Sep 17 00:00:00 2001 From: "yanrong.shi" Date: Wed, 3 Aug 2022 23:03:24 +0800 Subject: [PATCH] Update configure-pdb.md --- .../tasks/run-application/configure-pdb.md | 41 +++++++++++-------- 1 file changed, 23 insertions(+), 18 deletions(-) diff --git a/content/zh-cn/docs/tasks/run-application/configure-pdb.md b/content/zh-cn/docs/tasks/run-application/configure-pdb.md index 507c636784..c11c79e2c2 100644 --- a/content/zh-cn/docs/tasks/run-application/configure-pdb.md +++ b/content/zh-cn/docs/tasks/run-application/configure-pdb.md @@ -87,7 +87,7 @@ selector goes into the PDBs `.spec.selector`. From version 1.15 PDBs support custom controllers where the [scale subresource](/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#scale-subresource) is enabled. --> 从 1.15 版本开始,PDB 支持启用 -[scale 子资源](/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#scale-subresource) +[Scale 子资源](/zh-cn/docs/tasks/extend-kubernetes/custom-resources/custom-resource-definitions/#scale-subresource) 的自定义控制器。 - 指定整数值时,它表示 Pod 个数。例如,如果将 minAvailable 设置为 10, 那么即使在干扰期间,也必须始终有 10 个Pod可用。 - 通过将值设置为百分比的字符串表示形式(例如 “50%”)来指定百分比时,它表示占总 Pod 数的百分比。 - 例如,如果将 "minUnavailable" 设置为 “50%”,则干扰期间只允许 50% 的 Pod 不可用。 + 例如,如果将 "maxUnavailable" 设置为 “50%”,则干扰期间只允许 50% 的 Pod 不可用。 @@ -278,12 +276,17 @@ voluntary evictions, not all causes of unavailability. {{< /note >}} -设置 `maxUnavailable` 值为 0%(或 0)或设置 `minAvailable` 值为 100%(或等于副本数) -可能会阻塞节点,导致资源耗尽。按照 `PodDisruptionBudget` 的语义,这是允许的。 +如果你将 `maxUnavailable` 的值设置为 0%(或 0)或设置 `minAvailable` 值为 100%(或等于副本数) +则会阻止所有的自愿驱逐。 +当你为 ReplicaSet 等工作负载对象设置阻止自愿驱逐时,你将无法成功地腾空运行其中一个 Pod 的节点。 +如果你尝试腾空正在运行着被阻止驱逐的 Pod 的节点,则腾空永远不会完成。 +按照 `PodDisruptionBudget` 的语义,这是允许的。 -`ALLOWED-DISRUPTIONS` 值非 0 意味着干扰控制器已经感知到相应的 Pod,对匹配的 Pod 进行统计, +`ALLOWED DISRUPTIONS` 值非 0 意味着干扰控制器已经感知到相应的 Pod,对匹配的 Pod 进行统计, 并更新了 PDB 的状态。 用户可以通过以下命令获取更多 PDB 状态相关信息: @@ -390,7 +393,8 @@ kubectl get poddisruptionbudgets zk-pdb -o yaml apiVersion: policy/v1 kind: PodDisruptionBudget metadata: - anntation: {} + annotations: +… creationTimestamp: "2020-03-04T04:22:56Z" generation: 1 name: zk-pdb @@ -431,9 +435,10 @@ You can use a PDB with pods controlled by another type of controller, by an 你可以令选择算符选择一个内置控制器所控制 Pod 的子集或父集。 -然而,当名字空间下存在多个 PDB 时,用户必须小心,保证 PDB 的选择算符之间不重叠。 +驱逐 API 将不允许驱逐被多个 PDB 覆盖的任何 Pod,因此大多数用户都希望避免重叠的选择算符。重叠 PDB 的一种合理用途是当 Pod 从一个 PDB 过渡到另一个 PDB 时再使用。