Skip to content

Commit b4484da

Browse files
authored
Update safely-drain-node.md
1 parent 23be39e commit b4484da

File tree

1 file changed

+42
-26
lines changed

1 file changed

+42
-26
lines changed

content/zh/docs/tasks/administer-cluster/safely-drain-node.md

Lines changed: 42 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,49 +1,66 @@
11
---
2-
title: 确保 PodDisruptionBudget 的前提下安全地清空一个节点
2+
title: 安全地清空一个节点
33
content_type: task
4+
min-kubernetes-server-version: 1.5
5+
---
6+
<!--
47
---
5-
<!--
68
reviewers:
79
- davidopp
810
- mml
911
- foxish
1012
- kow3ns
11-
title: Safely Drain a Node while Respecting the PodDisruptionBudget
13+
title: Safely Drain a Node
1214
content_type: task
15+
min-kubernetes-server-version: 1.5
16+
---
1317
-->
1418

1519
<!-- overview -->
1620
<!--
1721
This page shows how to safely drain a node, respecting the PodDisruptionBudget you have defined.
1822
-->
19-
本页展示了如何在确保 PodDisruptionBudget 的前提下,安全地清空一个
20-
{{< glossary_tooltip text="节点" term_id="node" >}}。
23+
本页展示了如何在确保 PodDisruptionBudget 的前提下,安全地清空一个{{< glossary_tooltip text="节点" term_id="node" >}}。
2124

2225
## {{% heading "prerequisites" %}}
2326

2427
{{% version-check %}}
25-
2628
<!--
2729
This task assumes that you have met the following prerequisites:
2830
2931
* You are using Kubernetes release >= 1.5.
3032
* Either:
3133
1. You do not require your applications to be highly available during the
3234
node drain, or
33-
1. You have read about the [PodDisruptionBudget concept](/docs/concepts/workloads/pods/disruptions/)
35+
2. You have read about the [PodDisruptionBudget concept](/docs/concepts/workloads/pods/disruptions/)
3436
and [Configured PodDisruptionBudgets](/docs/tasks/run-application/configure-pdb/) for
3537
applications that need them.
36-
-->
37-
此任务假设您已经满足以下先决条件
38+
-->
39+
此任务假定您已经满足了以下先决条件
3840

3941
* 使用的 Kubernetes 版本 >= 1.5。
4042
* 以下两项,具备其一:
4143
1. 在节点清空期间,不要求应用程序具有高可用性
42-
1. 你已经了解了 [PodDisruptionBudget 的概念](/zh/docs/concepts/workloads/pods/disruptions/)
43-
并为需要它的应用程序[配置了 PodDisruptionBudget](/zh/docs/tasks/run-application/configure-pdb/)
44+
2. 您已经了解了 [PodDisruptionBudget 的概念](/zh/docs/concepts/workloads/pods/disruptions/),并为需要它的应用程序[配置了 PodDisruptionBudget](/zh/docs/tasks/run-application/configure-pdb/)
4445

4546
<!-- steps -->
4647

48+
<!--
49+
## (Optional) Configure a disruption budget {#configure-poddisruptionbudget}
50+
51+
To endure that your workloads remain available during maintenance, you can
52+
configure a [PodDisruptionBudget](/docs/concepts/workloads/pods/disruptions/).
53+
54+
If availability is important for any applications that run or could run on the node(s)
55+
that you are draining, [configure a PodDisruptionBudgets](/docs/tasks/run-application/configure-pdb/)
56+
first and the continue following this guide.
57+
-->
58+
## (可选) 配置中断预算 {#configure-poddisruptionbudget}
59+
60+
为了确保您的工作在维护期间仍然可用,您可以配置一个 [PodDisruptionBudget](/docs/concepts/workloads/pods/disruptions/)
61+
62+
如果可用性对于正在清空的该节点上运行或可能在该节点上运行的任何应用程序很重要,首先 [配置一个 PodDisruptionBudgets](/docs/tasks/run-application/configure-pdb/) 并继续遵循本指南。
63+
4764
<!--
4865
## Use `kubectl drain` to remove a node from service
4966
@@ -147,8 +164,7 @@ replicas to fall below the specified budget are blocked.
147164
并设置了一个 `PodDisruptionBudget`,指定 `minAvailable: 2`
148165
如果所有的三个 Pod 均就绪,并且你并行地发出多个 drain 命令,
149166
那么 `kubectl drain` 只会从 StatefulSet 中逐出一个 Pod,
150-
因为 Kubernetes 会遵守 PodDisruptionBudget 并确保在任何时候只有一个 Pod 不可用
151-
(最多不可用 Pod 个数的计算方法:`replicas - minAvailable`)。
167+
因为 Kubernetes 会遵守 PodDisruptionBudget 并确保在任何时候只有一个 Pod 不可用(最多不可用 Pod 个数的计算方法:`replicas - minAvailable`)。
152168
任何会导致就绪副本数量低于指定预算的清空操作都将被阻止。
153169

154170
<!--
@@ -160,7 +176,7 @@ eviction process), you can also programmatically cause evictions using the evict
160176
-->
161177
## 驱逐 API {#the-eviction-api}
162178
如果你不喜欢使用
163-
[kubectl drain](/docs/reference/generated/kubectl/kubectl-commands/#drain)
179+
[kubectl drain](/zh/docs/reference/generated/kubectl/kubectl-commands/#drain)
164180
(比如避免调用外部命令,或者更细化地控制 pod 驱逐过程),
165181
你也可以用驱逐 API 通过编程的方式达到驱逐的效果。
166182

@@ -176,8 +192,7 @@ itself. To attempt an eviction (perhaps more REST-precisely, to attempt to
176192
[Kubernetes 语言客户端](/zh/docs/tasks/administer-cluster/access-cluster-api/#programmatic-access-to-the-api)
177193

178194
Pod 的 Eviction 子资源可以看作是一种策略控制的 DELETE 操作,作用于 Pod 本身。
179-
要尝试驱逐(更准确地说,尝试 *创建* 一个 Eviction),需要用 POST
180-
发出所尝试的操作。这里有一个例子:
195+
要尝试驱逐(更准确地说,尝试 *创建* 一个 Eviction),需要用 POST 发出所尝试的操作。这里有一个例子:
181196

182197
```json
183198
{
@@ -212,8 +227,8 @@ The API can respond in one of three ways:
212227
future versions.
213228
- If there is some kind of misconfiguration, like multiple budgets pointing at
214229
the same pod, you will get `500 Internal Server Error`.
215-
-->
216-
API可以通过以下三种方式之一进行响应
230+
-->
231+
API 可以通过以下三种方式之一进行响应
217232

218233
- 如果驱逐被授权,那么 Pod 将被删掉,并且你会收到 `200 OK`
219234
就像你向 Pod 的 URL 发送了 `DELETE` 请求一样。
@@ -229,9 +244,9 @@ For a given eviction request, there are two cases:
229244
- There is no budget that matches this pod. In this case, the server always
230245
returns `200 OK`.
231246
- There is at least one budget. In this case, any of the three above responses may
232-
apply.
233-
-->
234-
对于一个给定的驱逐请求,有两种情况:
247+
apply.
248+
-->
249+
对于一个给定的驱逐请求,有两种情况:
235250

236251
- 没有匹配这个 Pod 的预算。这种情况,服务器总是返回 `200 OK`
237252
- 至少匹配一个预算。在这种情况下,上述三种回答中的任何一种都可能适用。
@@ -259,8 +274,7 @@ application owners and cluster owners to establish an agreement on behavior in t
259274
## 驱逐阻塞
260275

261276
在某些情况下,应用程序可能会到达一个中断状态,除了 429 或 500 之外,它将永远不会返回任何内容。
262-
例如 ReplicaSet 创建的替换 Pod 没有变成就绪状态,或者被驱逐的最后一个
263-
Pod 有很长的终止宽限期,就会发生这种情况。
277+
例如 ReplicaSet 创建的替换 Pod 没有变成就绪状态,或者被驱逐的最后一个 Pod 有很长的终止宽限期,就会发生这种情况。
264278

265279
在这种情况下,有两种可能的解决方案:
266280

@@ -272,9 +286,11 @@ Kubernetes 并没有具体说明在这种情况下应该采取什么行为,
272286

273287
## {{% heading "whatsnext" %}}
274288

289+
275290
<!--
276291
* Follow steps to protect your application by [configuring a Pod Disruption Budget](/docs/tasks/run-application/configure-pdb/).
277-
-->
278-
* 执行[配置 PDB](/zh/docs/tasks/run-application/configure-pdb/)中的各个步骤,
279-
保护你的应用
292+
* Learn more about [maintenance on a node](/docs/tasks/administer-cluster/cluster-management/#maintenance-on-a-node).
293+
-->
294+
* 跟随以下步骤保护应用程序:[配置 Pod 中断预算](/zh/docs/tasks/run-application/configure-pdb/)
295+
* 进一步了解[节点维护](/zh/docs/tasks/administer-cluster/cluster-management/#maintenance-on-a-node)
280296

0 commit comments

Comments
 (0)