From f4962730faac011a1dd106fa7f776b19477c3ce7 Mon Sep 17 00:00:00 2001 From: Steven Yan Date: Fri, 5 Nov 2021 12:15:02 +0800 Subject: [PATCH] translation for section admin4 --- .../dns-custom-nameservers.md | 24 +--- .../dns-debugging-resolution.md | 12 +- .../kubeadm/adding-windows-nodes.md | 116 +++++++++++++++--- .../kubeadm/configure-cgroup-driver.md | 8 +- .../kubeadm/kubeadm-certs.md | 28 ++++- 5 files changed, 143 insertions(+), 45 deletions(-) diff --git a/content/zh/docs/tasks/administer-cluster/dns-custom-nameservers.md b/content/zh/docs/tasks/administer-cluster/dns-custom-nameservers.md index 386809548b..d5259d809b 100644 --- a/content/zh/docs/tasks/administer-cluster/dns-custom-nameservers.md +++ b/content/zh/docs/tasks/administer-cluster/dns-custom-nameservers.md @@ -40,11 +40,11 @@ explains how to use `kubeadm` to migrate from `kube-dns`. DNS is a built-in Kubernetes service launched automatically using the addon manager -[cluster add-on](https://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/README.md). +[cluster add-on](http://releases.k8s.io/master/cluster/addons/README.md). --> ## 介绍 -DNS 是使用[集群插件](https://releases.k8s.io/{{< param "githubbranch" >}}/cluster/addons/README.md) +DNS 是使用[集群插件](http://releases.k8s.io/master/cluster/addons/README.md) 管理器自动启动的内置的 Kubernetes 服务。 {{< note >}} -CoreDNS 和 kube-dns 的 Service 都在其 `metadata.name` 字段使用名字 `kube-dns`。 +CoreDNS 服务在其 `metadata.name` 字段被命名为 `kube-dns`。 这是为了能够与依靠传统 `kube-dns` 服务名称来解析集群内部地址的工作负载具有更好的互操作性。 使用 `kube-dns` 作为服务名称可以抽离共有名称之后运行的是哪个 DNS 提供程序这一实现细节。 {{< /note >}} @@ -304,27 +304,23 @@ During translation, all FQDN nameservers will be omitted from the CoreDNS config CoreDNS supports the features of kube-dns and more. A ConfigMap created for kube-dns to support `StubDomains`and `upstreamNameservers` translates to the `proxy` plugin in CoreDNS. -Similarly, the `Federations` plugin in kube-dns translates to the `federation` plugin in CoreDNS. ### Example -This example ConfigMap for kubedns specifies federations, stubdomains and upstreamnameservers: +This example ConfigMap for kube-dns specifies stubdomains and upstreamnameservers: --> ## CoreDNS 配置等同于 kube-dns CoreDNS 不仅仅提供 kube-dns 的功能。 为 kube-dns 创建的 ConfigMap 支持 `StubDomains` 和 `upstreamNameservers` 转换为 CoreDNS 中的 `forward` 插件。 -同样,kube-dns 中的 `Federations` 插件会转换为 CoreDNS 中的 `federation` 插件。 ### 示例 -用于 kubedns 的此示例 ConfigMap 描述了 federations、stubdomains and upstreamnameservers: +用于 kubedns 的此示例 ConfigMap 描述了 stubdomains 和 upstreamnameservers: ```yaml apiVersion: v1 data: - federations: | - {"foo" : "foo.feddomain.com"} stubDomains: | {"abc.com" : ["1.2.3.4"], "my.cluster.local" : ["2.3.4.5"]} upstreamNameservers: | @@ -337,14 +333,6 @@ The equivalent configuration in CoreDNS creates a Corefile: --> CoreDNS 中的等效配置将创建一个 Corefile: -* 针对 federations: - - ```yaml - federation cluster.local { - foo foo.feddomain.com - } - ``` - * 针对 stubDomains: ```yaml diff --git a/content/zh/docs/tasks/administer-cluster/dns-debugging-resolution.md b/content/zh/docs/tasks/administer-cluster/dns-debugging-resolution.md index 701974965d..5aa692443a 100644 --- a/content/zh/docs/tasks/administer-cluster/dns-debugging-resolution.md +++ b/content/zh/docs/tasks/administer-cluster/dns-debugging-resolution.md @@ -109,13 +109,13 @@ If the `nslookup` command fails, check the following: ### Check the local DNS configuration first Take a look inside the resolv.conf file. -(See [Inheriting DNS from the node](/docs/tasks/administer-cluster/dns-custom-nameservers/#inheriting-dns-from-the-node) and +(See [Customizing DNS Service](/docs/tasks/administer-cluster/dns-custom-nameservers) and [Known issues](#known-issues) below for more information) --> ### 先检查本地的 DNS 配置 查看 resolv.conf 文件的内容 -(阅读[从节点继承 DNS 配置](/zh/docs/tasks/administer-cluster/dns-custom-nameservers/) 和 +(阅读[定制 DNS 服务](/zh/docs/tasks/administer-cluster/dns-custom-nameservers/) 和 后文的[已知问题](#known-issues) ,获取更多信息) ```shell @@ -471,6 +471,14 @@ Kubernetes 需要占用一个 `nameserver` 记录和三个`search`记录。 要想修复 DNS `search` 记录个数限制问题,可以考虑升级你的 Linux 发行版本,或者 升级 glibc 到一个不再受此困扰的版本。 +{{< note >}} + +使用[扩展 DNS 设置](/zh/docs/concepts/services-networking/dns-pod-service/#expanded-dns-configuration), +Kubernetes 允许更多的 `search` 记录。 +{{< /note >}} ### 加入 Windows 工作节点 {#joining-a-windows-worker-node} -你必须安装 `Containers` 功能特性并安装 Docker 工具。相关的指令可以在 -[Install Docker Engine - Enterprise on Windows Servers](https://hub.docker.com/editions/enterprise/docker-ee-server-windows) -处找到。 - +{{< note >}} + Windows 节的所有代码片段都需要在 PowerShell 环境中执行,并且要求在 Windows 工作节点上具有提升的权限(Administrator)。 +{{< /note >}} + +{{< tabs name="tab-windows-kubeadm-runtime-installation" >}} +{{% tab name="Docker EE" %}} -1. 安装 wins、kubelet 和 kubeadm +#### 安装 Docker EE + +```powershell +Install-WindowsFeature -Name containers +``` + +安装 Docker +操作指南在 [Install Docker Engine - Enterprise on Windows Servers](https://hub.docker.com/editions/enterprise/docker-ee-server-windows)。 + + +#### 安装 wins、kubelet 和 kubeadm ```PowerShell - curl.exe -LO https://github.com/kubernetes-sigs/sig-windows-tools/releases/latest/download/PrepareNode.ps1 + curl.exe -LO https://raw.githubusercontent.com/kubernetes-sigs/sig-windows-tools/master/kubeadm/scripts/PrepareNode.ps1 .\PrepareNode.ps1 -KubernetesVersion {{< param "fullversion" >}} ``` -2. 运行 `kubeadm` 添加节点 +#### 运行 `kubeadm` 添加节点 当你在控制面主机上运行 `kubeadm init` 时,输出了一个命令。现在运行这个命令。 如果你找不到这个命令,或者命令中对应的令牌已经过期,你可以(在一个控制面主机上)运行 `kubeadm token create --print-join-command` 来生成新的令牌和 join 命令。 +{{% /tab %}} +{{% tab name="CRI-containerD" %}} + + + +#### 安装 containerD + +```powershell +curl.exe -LO https://github.com/kubernetes-sigs/sig-windows-tools/releases/latest/download/Install-Containerd.ps1 +.\Install-Containerd.ps1 +``` + +{{< note >}} + +要安装特定版本的 containerD,使用参数 -ContainerDVersion指定版本。 + +```powershell +# Example +.\Install-Containerd.ps1 -ContainerDVersion 1.4.1 +``` + +{{< /note >}} + +{{< note >}} + +如果你在 Windows 节点上使用了与 Ethernet 不同的接口(例如 "Ethernet0 2"),使用参数 `-netAdapterName` 指定名称。 + +```powershell +# Example +.\Install-Containerd.ps1 -netAdapterName "Ethernet0 2" +``` + +{{< /note >}} + + +#### 安装 wins,kubelet 和 kubeadm + +```PowerShell +curl.exe -LO https://raw.githubusercontent.com/kubernetes-sigs/sig-windows-tools/master/kubeadm/scripts/PrepareNode.ps1 +.\PrepareNode.ps1 -KubernetesVersion {{< param "fullversion" >}} -ContainerRuntime containerD +``` + + +#### 运行 `kubeadm` 添加节点 + + 使用当你在控制面主机上运行 `kubeadm init` 时得到的命令。 + 如果你找不到这个命令,或者命令中对应的令牌已经过期,你可以(在一个控制面主机上)运行 + `kubeadm token create --print-join-command` 来生成新的令牌和 join 命令。 + +{{< note >}} +If using **CRI-containerD** add `--cri-socket "npipe:////./pipe/containerd-containerd"` to the kubeadm call +{{< /note >}} + +{{% /tab %}} +{{< /tabs >}} + -{{< feature-state for_k8s_version="v1.21" state="stable" >}} - {{< note >}} -如果用户没有在 `KubeletConfiguration` 中设置 `cgroupDriver` 字段, +在版本 1.22 中,如果用户没有在 `KubeletConfiguration` 中设置 `cgroupDriver` 字段, `kubeadm init` 会将它设置为默认值 `systemd`。 {{< /note >}} @@ -81,7 +79,7 @@ A minimal example of configuring the field explicitly: ```yaml # kubeadm-config.yaml kind: ClusterConfiguration -apiVersion: kubeadm.k8s.io/v1beta2 +apiVersion: kubeadm.k8s.io/v1beta3 kubernetesVersion: v1.21.0 --- kind: KubeletConfiguration diff --git a/content/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md b/content/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md index 8bf1ddc28e..ddd01aa69a 100644 --- a/content/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md +++ b/content/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs.md @@ -234,10 +234,28 @@ You can renew your certificates manually at any time with the `kubeadm certs ren 你能随时通过 `kubeadm certs renew` 命令手动更新你的证书。 此命令用 CA (或者 front-proxy-CA )证书和存储在 `/etc/kubernetes/pki` 中的密钥执行更新。 +执行完此命令之后你需要重启控制面 Pods。因为动态证书重载目前还不被所有组件和证书支持,所有这项操作是必须的。 +[静态 Pods](/zh/docs/tasks/configure-pod-container/static-pod/) 是被本地 kubelet 而不是 API Server 管理, +所以 kubectl 不能用来删除或重启他们。 +要重启静态 Pod 你可以临时将清单文件从 `/etc/kubernetes/manifests/` 移除并等待 20 秒 +(参考 [KubeletConfiguration 结构](/docs/reference/config-api/kubelet-config.v1beta1/) 中的`fileCheckFrequency` 值)。 +如果 Pod 不在清单目录里,kubelet将会终止它。 +在另一个 `fileCheckFrequency` 周期之后你可以将文件移回去,为了组件可以完成 kubelet 将重新创建 Pod 和证书更新。 + @@ -311,13 +329,13 @@ Kubernetes 证书颁发机构不是开箱即用。 要激活内置签名者,请传递 `--cluster-signing-cert-file` 和 `--cluster-signing-key-file` 参数。 如果你正在创建一个新的集群,你可以使用 kubeadm 的 -[配置文件](/docs/reference/config-api/kubeadm-config.v1beta2/)。 +[配置文件](/docs/reference/config-api/kubeadm-config.v1beta3/)。 ```yaml -apiVersion: kubeadm.k8s.io/v1beta2 +apiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration controllerManager: extraArgs: @@ -441,7 +459,7 @@ certificates you must pass the following minimal configuration to `kubeadm init` 你必须向 `kubeadm init` 传递如下最小配置数据: ```yaml -apiVersion: kubeadm.k8s.io/v1beta2 +apiVersion: kubeadm.k8s.io/v1beta3 kind: ClusterConfiguration --- apiVersion: kubelet.config.k8s.io/v1beta1