From cb5e1eabe4e5bf8a10beb26c8b8e5a7dde53f82e Mon Sep 17 00:00:00 2001 From: Michael Date: Sat, 3 Dec 2022 11:23:10 +0800 Subject: [PATCH] [zh] sync /tools/kubeadm/create-cluster-kubeadm.md --- .../tools/kubeadm/create-cluster-kubeadm.md | 64 ++++++++++--------- 1 file changed, 34 insertions(+), 30 deletions(-) diff --git a/content/zh-cn/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md b/content/zh-cn/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md index b5e7b76e488..afacfc075d2 100644 --- a/content/zh-cn/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md +++ b/content/zh-cn/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm.md @@ -95,11 +95,11 @@ slightly as the tool evolves, but the overall implementation should be pretty st `kubeadm` 工具的整体功能状态为一般可用性(GA)。一些子功能仍在积极开发中。 随着工具的发展,创建集群的实现可能会略有变化,但总体实现应相当稳定。 +{{< note >}} -{{< note >}} -根据定义,在 `kubeadm alpha` 下的所有命令均在 alpha 级别上受支持。 +根据定义,在 `kubeadm alpha` 下的所有命令均在 Alpha 级别上受支持。 {{< /note >}} @@ -134,6 +134,7 @@ For detailed instructions and other prerequisites, see [Installing kubeadm](/doc 在所有主机上安装 {{< glossary_tooltip term_id="container-runtime" text="容器运行时" >}} 和 kubeadm。 详细说明和其他前提条件,请参见[安装 kubeadm](/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)。 +{{< note >}} -{{< note >}} 如果你已经安装了kubeadm,执行 `apt-get update && apt-get upgrade` 或 `yum update` 以获取 kubeadm 的最新版本。 @@ -193,8 +193,8 @@ The control-plane node is the machine where the control plane components run, in communicates with). --> 控制平面节点是运行控制平面组件的机器, -包括 {{< glossary_tooltip term_id="etcd" >}} (集群数据库) -和 {{< glossary_tooltip text="API Server" term_id="kube-apiserver" >}} +包括 {{< glossary_tooltip term_id="etcd" >}}(集群数据库) +和 {{< glossary_tooltip text="API 服务器" term_id="kube-apiserver" >}} (命令行工具 {{< glossary_tooltip text="kubectl" term_id="kubectl" >}} 与之通信)。 -要重新配置一个已经创建的集群,请参见 -[重新配置一个 kubeadm 集群](/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure)。 +要重新配置一个已经创建的集群, +请参见[重新配置一个 kubeadm 集群](/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure)。 -`kubeadm init` 首先运行一系列预检查以确保机器 -准备运行 Kubernetes。这些预检查会显示警告并在错误时退出。然后 `kubeadm init` +`kubeadm init` 首先运行一系列预检查以确保机器为运行 Kubernetes 准备就绪。 +这些预检查会显示警告并在错误时退出。然后 `kubeadm init` 下载并安装集群控制平面组件。这可能会需要几分钟。 完成之后你应该看到: @@ -464,8 +464,9 @@ Cluster DNS (CoreDNS) will not start up before a network is installed.** Make sure that your Pod network plugin supports RBAC, and so do any manifests that you use to deploy it. --> -- 默认情况下,`kubeadm` 将集群设置为使用和强制使用 [RBAC](/zh-cn/docs/reference/access-authn-authz/rbac/)(基于角色的访问控制)。 - 确保你的 Pod 网络插件支持 RBAC,以及用于部署它的 manifests 也是如此。 +- 默认情况下,`kubeadm` 将集群设置为使用和强制使用 + [RBAC](/zh-cn/docs/reference/access-authn-authz/rbac/)(基于角色的访问控制)。 + 确保你的 Pod 网络插件支持 RBAC,以及用于部署它的清单也是如此。 -{{< note >}} kubeadm 应该是与 CNI 无关的,对 CNI 驱动进行验证目前不在我们的端到端测试范畴之内。 如果你发现与 CNI 插件相关的问题,应在其各自的问题跟踪器中记录而不是在 kubeadm 或 kubernetes 问题跟踪器中记录。 @@ -530,13 +531,12 @@ If your network is not working or CoreDNS is not in the `Running` state, check o [troubleshooting guide](/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/) for `kubeadm`. --> -如果你的网络无法正常工作或 CoreDNS 不在“运行中”状态,请查看 `kubeadm` 的 -[故障排除指南](/zh-cn/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/)。 +如果你的网络无法正常工作或 CoreDNS 不在 `Running` 状态,请查看 `kubeadm` +的[故障排除指南](/zh-cn/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/)。 - ### 托管节点标签 {#managed-node-labels} 默认情况下,kubeadm 启用 [NodeRestriction](/zh-cn/docs/reference/access-authn-authz/admission-controllers/#noderestriction) -准入控制器来限制 kubelets 在节点注册时可以应用哪些标签。准入控制器文档描述 kubelet `--node-labels` 选项允许使用哪些标签。 +准入控制器来限制 kubelet 在节点注册时可以应用哪些标签。准入控制器文档描述 kubelet `--node-labels` 选项允许使用哪些标签。 其中 `node-role.kubernetes.io/control-plane` 标签就是这样一个受限制的标签, kubeadm 在节点创建后使用特权客户端手动应用此标签。 你可以使用一个有特权的 kubeconfig,比如由 kubeadm 管理的 `/etc/kubernetes/admin.conf`, @@ -568,15 +568,17 @@ for example for a single machine Kubernetes cluster, run: 如果你希望能够在控制平面节点上调度 Pod,例如单机 Kubernetes 集群,请运行: ```bash -kubectl taint nodes --all node-role.kubernetes.io/control-plane- node-role.kubernetes.io/master- +kubectl taint nodes --all node-role.kubernetes.io/control-plane- ``` + 输出看起来像: -```console +``` node "test-01" untainted +... ``` -{{< note >}} 要为 `:` 指定 IPv6 元组,必须将 IPv6 地址括在方括号中,例如:`[2001:db8::101]:2073` {{< /note >}} @@ -706,12 +708,12 @@ nodes` when run on the control-plane node. --> 几秒钟后,当你在控制平面节点上执行 `kubectl get nodes`,你会注意到该节点出现在输出中。 +{{< note >}} -{{< note >}} 由于集群节点通常是按顺序初始化的,CoreDNS Pod 很可能都运行在第一个控制面节点上。 为了提供更高的可用性,请在加入至少一个新节点后 使用 `kubectl -n kube-system rollout restart deployment coredns` 命令,重新平衡这些 CoreDNS Pod。 @@ -734,6 +736,8 @@ to your workstation like this: scp root@:/etc/kubernetes/admin.conf . kubectl --kubeconfig ./admin.conf get nodes ``` + +{{< note >}} -{{< note >}} 上面的示例假定为 root 用户启用了 SSH 访问。如果不是这种情况, 你可以使用 `scp` 将 `admin.conf` 文件复制给其他允许访问的用户。 @@ -773,6 +776,7 @@ If you want to connect to the API Server from outside the cluster you can use scp root@:/etc/kubernetes/admin.conf . kubectl --kubeconfig ./admin.conf proxy ``` + @@ -789,7 +793,8 @@ switch those off and do no further clean up. You can use `kubectl config delete-cluster` to delete your local references to the cluster. --> -如果你在集群中使用了一次性服务器进行测试,则可以关闭这些服务器,而无需进一步清理。你可以使用 `kubectl config delete-cluster` 删除对集群的本地引用。 +如果你在集群中使用了一次性服务器进行测试,则可以关闭这些服务器,而无需进一步清理。 +你可以使用 `kubectl config delete-cluster` 删除对集群的本地引用。 -有关此子命令及其选项的更多信息,请参见 [`kubeadm reset`](/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-reset/) 参考文档。 +有关此子命令及其选项的更多信息,请参见 +[`kubeadm reset`](/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-reset/) 参考文档。 @@ -903,8 +909,7 @@ options. * 有关 Pod 网络附加组件的更多列表,请参见[集群网络](/zh-cn/docs/concepts/cluster-administration/networking/)页面。 * 请参阅[附加组件列表](/zh-cn/docs/concepts/cluster-administration/addons/)以探索其他附加组件, 包括用于 Kubernetes 集群的日志记录、监视、网络策略、可视化和控制的工具。 -* 配置集群如何处理集群事件的日志以及 - 在 Pod 中运行的应用程序。 +* 配置集群如何处理集群事件的日志以及在 Pod 中运行的应用程序。 有关所涉及内容的概述,请参见[日志架构](/zh-cn/docs/concepts/cluster-administration/logging/)。 - ### kubeadm 中的 Kubernetes 版本偏差 {#kubeadm-s-skew-against-the-kubernetes-version} -* 定期[备份 etcd](https://coreos.com/etcd/docs/latest/admin_guide.html)。 +* 定期[备份 etcd](https://etcd.io/docs/v3.5/op-guide/recovery/)。 kubeadm 配置的 etcd 数据目录位于控制平面节点上的 `/var/lib/etcd` 中。