From 840f8da3f22f9e28d25e6513a76c35881689570f Mon Sep 17 00:00:00 2001 From: windsonsea Date: Wed, 28 Feb 2024 09:50:53 +0800 Subject: [PATCH] [zh] Sync configure-upgrade-etcd.md --- .../configure-upgrade-etcd.md | 111 +++++++++--------- 1 file changed, 54 insertions(+), 57 deletions(-) diff --git a/content/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd.md b/content/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd.md index 7f3d68589c..af1f786c84 100644 --- a/content/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd.md +++ b/content/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd.md @@ -19,17 +19,15 @@ weight: 270 ## {{% heading "prerequisites" %}} -{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}} - 你需要有一个 Kubernetes 集群,并且必须配置 kubectl 命令行工具以与你的集群通信。 -建议在至少有两个不充当控制平面的节点上运行此任务。如果你还没有集群, +建议参照本指南在至少有两个不充当控制平面的节点上运行此任务。如果你还没有集群, 你可以使用 [minikube](https://minikube.sigs.k8s.io/docs/tutorials/multi_node/) 创建一个。 @@ -42,7 +40,14 @@ nodes . If you do not already have a cluster, you can create one by using * etcd is a leader-based distributed system. Ensure that the leader periodically send heartbeats on time to all followers to keep the cluster stable. +--> +## 先决条件 {#prerequisites} +* 运行的 etcd 集群个数成员为奇数。 + +* etcd 是一个基于领导者(Leader-Based)的分布式系统。确保主节点定期向所有从节点发送心跳,以保持集群稳定。 + + -## 先决条件 {#prerequisites} - -* 运行的 etcd 集群个数成员为奇数。 - -* etcd 是一个 leader-based 分布式系统。确保主节点定期向所有从节点发送心跳,以保持集群稳定。 - * 确保不发生资源不足。 集群的性能和稳定性对网络和磁盘 I/O 非常敏感。任何资源匮乏都会导致心跳超时, 从而导致集群的不稳定。不稳定的情况表明没有选出任何主节点。 在这种情况下,集群不能对其当前状态进行任何更改,这意味着不能调度新的 Pod。 + * 保持 etcd 集群的稳定对 Kubernetes 集群的稳定性至关重要。 因此,请在专用机器或隔离环境上运行 etcd 集群, 以满足[所需资源需求](https://etcd.io/docs/current/op-guide/hardware/)。 @@ -100,7 +100,7 @@ This section covers starting a single-node and multi-node etcd cluster. -配置安全通信后,限制只有 Kubernetes API 服务器可以访问 etcd 集群。使用 TLS 身份验证来完成此任务。 +配置安全通信后,使用 TLS 身份验证来限制只有 Kubernetes API 服务器可以访问 etcd 集群。 -Kubernetes 目前不支持 etcd 身份验证。 -想要了解更多信息,请参阅相关的问题[支持 etcd v2 的基本认证](https://github.com/kubernetes/kubernetes/issues/23398)。 +Kubernetes 没有为 etcd 提供身份验证的计划。 {{< /note >}} 3. 停止故障节点上的 etcd 服务器。除了 Kubernetes API 服务器之外的其他客户端可能会造成流向 etcd 的流量, 可以停止所有流量以防止写入数据目录。 4. 移除失败的成员: @@ -400,7 +397,7 @@ replace it with `member4=http://10.0.0.4`. ``` 5. 增加新成员: @@ -418,7 +415,7 @@ replace it with `member4=http://10.0.0.4`. ``` 6. 在 IP 为 `10.0.0.4` 的机器上启动新增加的成员: @@ -430,7 +427,7 @@ replace it with `member4=http://10.0.0.4`. ``` ## 备份 etcd 集群 {#backing-up-an-etcd-cluster} -所有 Kubernetes 对象都存储在 etcd 上。 +所有 Kubernetes 对象都存储在 etcd 中。 定期备份 etcd 集群数据对于在灾难场景(例如丢失所有控制平面节点)下恢复 Kubernetes 集群非常重要。 快照文件包含所有 Kubernetes 状态和关键信息。为了保证敏感的 Kubernetes 数据的安全,可以对快照文件进行加密。 @@ -482,22 +479,22 @@ snapshot and volume snapshot. ### 内置快照 {#built-in-snapshot} -etcd 支持内置快照。快照可以从使用 `etcdctl snapshot save` 命令的活动成员中获取, +etcd 支持内置快照。快照可以从使用 `etcdctl snapshot save` 命令的活动成员中创建, 也可以通过从 etcd [数据目录](https://etcd.io/docs/current/op-guide/configuration/#--data-dir) -复制 `member/snap/db` 文件,该 etcd 数据目录目前没有被 etcd 进程使用。获取快照不会影响成员的性能。 +复制 `member/snap/db` 文件,该 etcd 数据目录目前没有被 etcd 进程使用。创建快照不会影响成员的性能。 -下面是一个示例,用于获取 `$ENDPOINT` 所提供的键空间的快照到文件 `snapshot.db`: +下面是一个示例,用于创建 `$ENDPOINT` 所提供的键空间的快照到文件 `snapshot.db`: ```shell ETCDCTL_API=3 etcdctl --endpoints $ENDPOINT snapshot save snapshot.db @@ -527,11 +524,11 @@ ETCDCTL_API=3 etcdctl --write-out=table snapshot status snapshot.db 如果 etcd 运行在支持备份的存储卷(如 Amazon Elastic Block -存储)上,则可以通过获取存储卷的快照来备份 etcd 数据。 +存储)上,则可以通过创建存储卷的快照来备份 etcd 数据。 我们还可以使用 etcdctl 提供的各种选项来制作快照。例如: @@ -548,10 +545,10 @@ ETCDCTL_API=3 etcdctl -h ``` -列出 etcdctl 可用的各种选项。例如,你可以通过指定端点、证书等来制作快照,如下所示: +列出 etcdctl 可用的各种选项。例如,你可以通过指定端点、证书和密钥来制作快照,如下所示: ```shell ETCDCTL_API=3 etcdctl --endpoints=https://127.0.0.1:2379 \ @@ -573,7 +570,7 @@ where `trusted-ca-file`, `cert-file` and `key-file` can be obtained from the des Scaling out etcd clusters increases availability by trading off performance. Scaling does not increase cluster performance nor capability. A general rule is not to scale out or in etcd clusters. Do not configure any auto scaling -groups for etcd clusters. It is highly recommended to always run a static +groups for etcd clusters. It is strongly recommended to always run a static five-member etcd cluster for production Kubernetes clusters at any officially supported scale. --> @@ -599,7 +596,7 @@ for information on how to add members into an existing cluster. etcd 支持从 [major.minor](http://semver.org/) 或其他不同 patch 版本的 etcd 进程中获取的快照进行恢复。 @@ -637,7 +634,7 @@ etcdctl --data-dir snapshot restore snapshot.db ``` 如果 `` 与之前的文件夹相同,请先删除此文件夹并停止 etcd 进程,再恢复集群。 否则,需要在恢复后更改 etcd 配置并重新启动 etcd 进程才能使用新的数据目录。 @@ -650,7 +647,7 @@ For more information and examples on restoring a cluster from a snapshot file, s [etcd 灾难恢复文档](https://etcd.io/docs/current/op-guide/recovery/#restoring-a-cluster)。 碎片整理是一种昂贵的操作,因此应尽可能少地执行此操作。 -另一方面,也有必要确保任何 etcd 成员都不会用尽存储配额。 +另一方面,也有必要确保任何 etcd 成员都不会超过存储配额。 Kubernetes 项目建议在执行碎片整理时, 使用诸如 [etcd-defrag](https://github.com/ahrtr/etcd-defrag) 之类的工具。 {{< /note >}}