Merge pull request #34515 from howieyuen/setup

[zh]Update setup pages for links with '/zh/' prefix, using new prefix '/zh-cn/'
This commit is contained in:
Kubernetes Prow Robot
2022-06-23 08:29:43 -07:00
committed by GitHub
18 changed files with 189 additions and 189 deletions
+8 -8
View File
@@ -57,7 +57,7 @@ There are also other standardized and custom solutions across a wide range of cl
bare metal environments. bare metal environments.
--> -->
可以[下载 Kubernetes](/releases/download/),在本地机器、云或你自己的数据中心上部署 Kubernetes 集群。 可以[下载 Kubernetes](/releases/download/),在本地机器、云或你自己的数据中心上部署 Kubernetes 集群。
如果你不想自己管理 Kubernetes 集群,则可以选择托管服务,包括[经过认证的平台](/zh/docs/setup/production-environment/turnkey-solutions/)。 如果你不想自己管理 Kubernetes 集群,则可以选择托管服务,包括[经过认证的平台](/zh-cn/docs/setup/production-environment/turnkey-solutions/)。
在各种云和裸机环境中,还有其他标准化和定制的解决方案。 在各种云和裸机环境中,还有其他标准化和定制的解决方案。
<!-- body --> <!-- body -->
@@ -73,7 +73,7 @@ See [Install tools](/docs/tasks/tools/).
--> -->
如果正打算学习 Kubernetes,请使用 Kubernetes 社区支持 如果正打算学习 Kubernetes,请使用 Kubernetes 社区支持
或生态系统中的工具在本地计算机上设置 Kubernetes 集群。 或生态系统中的工具在本地计算机上设置 Kubernetes 集群。
请参阅[安装工具](/zh/docs/tasks/tools/)。 请参阅[安装工具](/zh-cn/docs/tasks/tools/)。
<!-- <!--
## Production environment ## Production environment
@@ -89,11 +89,11 @@ prefer to hand off to a provider.
For a cluster you're managing yourself, the officially supported tool For a cluster you're managing yourself, the officially supported tool
for deploying Kubernetes is [kubeadm](/docs/setup/production-environment/tools/kubeadm/). for deploying Kubernetes is [kubeadm](/docs/setup/production-environment/tools/kubeadm/).
--> -->
在评估[生产环境](/zh/docs/setup/production-environment/)的解决方案时, 在评估[生产环境](/zh-cn/docs/setup/production-environment/)的解决方案时,
请考虑要自己管理 Kubernetes 集群(或相关抽象)的哪些方面,将哪些托付给提供商。 请考虑要自己管理 Kubernetes 集群(或相关抽象)的哪些方面,将哪些托付给提供商。
对于你自己管理的集群,官方支持的用于部署 Kubernetes 的工具是 对于你自己管理的集群,官方支持的用于部署 Kubernetes 的工具是
[kubeadm](/zh/docs/setup/production-environment/tools/kubeadm/)。 [kubeadm](/zh-cn/docs/setup/production-environment/tools/kubeadm/)。
<!-- <!--
## {{% heading "whatsnext" %}} ## {{% heading "whatsnext" %}}
@@ -111,10 +111,10 @@ Windows.
## {{% heading "whatsnext" %}} ## {{% heading "whatsnext" %}}
- [下载 Kubernetes](/releases/download/) - [下载 Kubernetes](/releases/download/)
- 下载并[安装工具](/zh/docs/tasks/tools/),包括 kubectl 在内 - 下载并[安装工具](/zh-cn/docs/tasks/tools/),包括 kubectl 在内
- 为新集群选择[容器运行时](/zh/docs/setup/production-environment/container-runtimes/) - 为新集群选择[容器运行时](/zh-cn/docs/setup/production-environment/container-runtimes/)
- 了解集群设置的[最佳实践](/zh/docs/setup/best-practices/) - 了解集群设置的[最佳实践](/zh-cn/docs/setup/best-practices/)
Kubernetes 的设计是让其{{< glossary_tooltip term_id="control-plane" text="控制平面" >}}在 Linux 上运行的。 Kubernetes 的设计是让其{{< glossary_tooltip term_id="control-plane" text="控制平面" >}}在 Linux 上运行的。
在集群中,你可以在 Linux 或其他操作系统(包括 Windows)上运行应用程序。 在集群中,你可以在 Linux 或其他操作系统(包括 Windows)上运行应用程序。
- 学习[配置包含 Windows 节点的集群](/zh/docs/setup/production-environment/windows/) - 学习[配置包含 Windows 节点的集群](/zh-cn/docs/setup/production-environment/windows/)
@@ -20,7 +20,7 @@ You can also generate your own certificates -- for example, to keep your private
This page explains the certificates that your cluster requires. This page explains the certificates that your cluster requires.
--> -->
Kubernetes 需要 PKI 证书才能进行基于 TLS 的身份验证。如果你是使用 Kubernetes 需要 PKI 证书才能进行基于 TLS 的身份验证。如果你是使用
[kubeadm](/zh/docs/reference/setup-tools/kubeadm/) 安装的 Kubernetes [kubeadm](/zh-cn/docs/reference/setup-tools/kubeadm/) 安装的 Kubernetes
则会自动生成集群所需的证书。你还可以生成自己的证书。 则会自动生成集群所需的证书。你还可以生成自己的证书。
例如,不将私钥存储在 API 服务器上,可以让私钥更加安全。此页面说明了集群必需的证书。 例如,不将私钥存储在 API 服务器上,可以让私钥更加安全。此页面说明了集群必需的证书。
@@ -48,7 +48,7 @@ Kubernetes 需要 PKI 才能执行以下操作:
* Client and server certificates for the [front-proxy](/docs/tasks/extend-kubernetes/configure-aggregation-layer/) * Client and server certificates for the [front-proxy](/docs/tasks/extend-kubernetes/configure-aggregation-layer/)
--> -->
* Kubelet 的客户端证书,用于 API 服务器身份验证 * Kubelet 的客户端证书,用于 API 服务器身份验证
* Kubelet [服务端证书](/zh/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/#client-and-serving-certificates) * Kubelet [服务端证书](/zh-cn/docs/reference/access-authn-authz/kubelet-tls-bootstrapping/#client-and-serving-certificates)
用于 API 服务器与 Kubelet 的会话 用于 API 服务器与 Kubelet 的会话
* API 服务器端点的证书 * API 服务器端点的证书
* 集群管理员的客户端证书,用于 API 服务器身份认证 * 集群管理员的客户端证书,用于 API 服务器身份认证
@@ -56,14 +56,14 @@ Kubernetes 需要 PKI 才能执行以下操作:
* API 服务器的客户端证书,用于和 etcd 的会话 * API 服务器的客户端证书,用于和 etcd 的会话
* 控制器管理器的客户端证书/kubeconfig,用于和 API 服务器的会话 * 控制器管理器的客户端证书/kubeconfig,用于和 API 服务器的会话
* 调度器的客户端证书/kubeconfig,用于和 API 服务器的会话 * 调度器的客户端证书/kubeconfig,用于和 API 服务器的会话
* [前端代理](/zh/docs/tasks/extend-kubernetes/configure-aggregation-layer/) 的客户端及服务端证书 * [前端代理](/zh-cn/docs/tasks/extend-kubernetes/configure-aggregation-layer/) 的客户端及服务端证书
<!-- <!--
`front-proxy` certificates are required only if you run kube-proxy to support [an extension API server](/docs/tasks/extend-kubernetes/setup-extension-api-server/). `front-proxy` certificates are required only if you run kube-proxy to support [an extension API server](/docs/tasks/extend-kubernetes/setup-extension-api-server/).
--> -->
{{< note >}} {{< note >}}
只有当你运行 kube-proxy 并要支持 只有当你运行 kube-proxy 并要支持
[扩展 API 服务器](/zh/docs/tasks/extend-kubernetes/setup-extension-api-server/) [扩展 API 服务器](/zh-cn/docs/tasks/extend-kubernetes/setup-extension-api-server/)
时,才需要 `front-proxy` 证书 时,才需要 `front-proxy` 证书
{{< /note >}} {{< /note >}}
@@ -92,8 +92,8 @@ See [Certificate Management with kubeadm](/docs/tasks/administer-cluster/kubeadm
如果你不想通过 kubeadm 生成这些必需的证书,你可以使用一个单一的根 CA 如果你不想通过 kubeadm 生成这些必需的证书,你可以使用一个单一的根 CA
来创建这些证书或者直接提供所有证书。 来创建这些证书或者直接提供所有证书。
参见[证书](/zh/docs/tasks/administer-cluster/certificates/)以进一步了解创建自己的证书机构。 参见[证书](/zh-cn/docs/tasks/administer-cluster/certificates/)以进一步了解创建自己的证书机构。
关于管理证书的更多信息,请参见[使用 kubeadm 进行证书管理](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/)。 关于管理证书的更多信息,请参见[使用 kubeadm 进行证书管理](/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/)。
<!-- <!--
### Single root CA ### Single root CA
@@ -121,7 +121,7 @@ On top of the above CAs, it is also necessary to get a public/private key pair f
|------------------------|---------------------------|----------------------------------| |------------------------|---------------------------|----------------------------------|
| ca.crt,key | kubernetes-ca | Kubernetes 通用 CA | | ca.crt,key | kubernetes-ca | Kubernetes 通用 CA |
| etcd/ca.crt,key | etcd-ca | 与 etcd 相关的所有功能 | | etcd/ca.crt,key | etcd-ca | 与 etcd 相关的所有功能 |
| front-proxy-ca.crt,key | kubernetes-front-proxy-ca | 用于 [前端代理](/zh/docs/tasks/extend-kubernetes/configure-aggregation-layer/) | | front-proxy-ca.crt,key | kubernetes-front-proxy-ca | 用于 [前端代理](/zh-cn/docs/tasks/extend-kubernetes/configure-aggregation-layer/) |
上面的 CA 之外,还需要获取用于服务账户管理的密钥对,也就是 `sa.key``sa.pub` 上面的 CA 之外,还需要获取用于服务账户管理的密钥对,也就是 `sa.key``sa.pub`
@@ -181,7 +181,7 @@ the load balancer stable IP and/or DNS name, `kubernetes`, `kubernetes.default`,
where `kind` maps to one or more of the [x509 key usage](https://pkg.go.dev/k8s.io/api/certificates/v1beta1#KeyUsage) types: where `kind` maps to one or more of the [x509 key usage](https://pkg.go.dev/k8s.io/api/certificates/v1beta1#KeyUsage) types:
--> -->
[1]: 用来连接到集群的不同 IP 或 DNS 名 [1]: 用来连接到集群的不同 IP 或 DNS 名
(就像 [kubeadm](/zh/docs/reference/setup-tools/kubeadm/) 为负载均衡所使用的固定 (就像 [kubeadm](/zh-cn/docs/reference/setup-tools/kubeadm/) 为负载均衡所使用的固定
IP 或 DNS 名,`kubernetes``kubernetes.default``kubernetes.default.svc` IP 或 DNS 名,`kubernetes``kubernetes.default``kubernetes.default.svc`
`kubernetes.default.svc.cluster``kubernetes.default.svc.cluster.local`)。 `kubernetes.default.svc.cluster``kubernetes.default.svc.cluster.local`)。
@@ -228,7 +228,7 @@ Paths should be specified using the given argument regardless of location.
--> -->
### 证书路径 {#certificate-paths} ### 证书路径 {#certificate-paths}
证书应放置在建议的路径中(以便 [kubeadm](/zh/docs/reference/setup-tools/kubeadm/) 证书应放置在建议的路径中(以便 [kubeadm](/zh-cn/docs/reference/setup-tools/kubeadm/)
使用)。无论使用什么位置,都应使用给定的参数指定路径。 使用)。无论使用什么位置,都应使用给定的参数指定路径。
<!-- <!--
@@ -286,7 +286,7 @@ Same considerations apply for the service account key pair:
The following example illustrates the file paths [from the previous tables](/docs/setup/best-practices/certificates/#certificate-paths) you need to provide if you are generating all of your own keys and certificates: The following example illustrates the file paths [from the previous tables](/docs/setup/best-practices/certificates/#certificate-paths) you need to provide if you are generating all of your own keys and certificates:
--> -->
下面的例子展示了自行生成所有密钥和证书时所需要提供的文件路径。 下面的例子展示了自行生成所有密钥和证书时所需要提供的文件路径。
这些路径基于[前面的表格](/zh/docs/setup/best-practices/certificates/#certificate-paths)。 这些路径基于[前面的表格](/zh-cn/docs/setup/best-practices/certificates/#certificate-paths)。
```console ```console
/etc/kubernetes/pki/etcd/ca.key /etc/kubernetes/pki/etcd/ca.key
@@ -342,7 +342,7 @@ The value of `<nodeName>` for `kubelet.conf` **must** match precisely the value
--> -->
{{< note >}} {{< note >}}
`kubelet.conf``<nodeName>` 的值 **必须** 与 kubelet 向 apiserver 注册时提供的节点名称的值完全匹配。 `kubelet.conf``<nodeName>` 的值 **必须** 与 kubelet 向 apiserver 注册时提供的节点名称的值完全匹配。
有关更多详细信息,请阅读[节点授权](/zh/docs/reference/access-authn-authz/node/)。 有关更多详细信息,请阅读[节点授权](/zh-cn/docs/reference/access-authn-authz/node/)。
{{< /note >}} {{< /note >}}
<!-- <!--
@@ -138,8 +138,8 @@ See [Operating etcd clusters for Kubernetes](/docs/tasks/administer-cluster/conf
for details on configuring and managing etcd for a large cluster. for details on configuring and managing etcd for a large cluster.
--> -->
有关为大型集群配置和管理 etcd 的详细信息,请参阅 有关为大型集群配置和管理 etcd 的详细信息,请参阅
[为 Kubernetes 运行 etcd 集群](/zh/docs/tasks/administer-cluster/configure-upgrade-etcd/) [为 Kubernetes 运行 etcd 集群](/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/)
和使用 [kubeadm 创建一个高可用 etcd 集群](/zh/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/)。 和使用 [kubeadm 创建一个高可用 etcd 集群](/zh-cn/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/)。
<!-- <!--
### Addon Resources ### Addon Resources
@@ -154,7 +154,7 @@ impact on other components. These resource limits apply to
For example, you can set CPU and memory limits for a logging component: For example, you can set CPU and memory limits for a logging component:
--> -->
Kubernetes [资源限制](/zh/docs/concepts/configuration/manage-resources-containers/) Kubernetes [资源限制](/zh-cn/docs/concepts/configuration/manage-resources-containers/)
有助于最大程度地减少内存泄漏的影响以及 Pod 和容器可能对其他组件的其他方式的影响。 有助于最大程度地减少内存泄漏的影响以及 Pod 和容器可能对其他组件的其他方式的影响。
这些资源限制适用于{{< glossary_tooltip text="插件" term_id="addons" >}}资源, 这些资源限制适用于{{< glossary_tooltip text="插件" term_id="addons" >}}资源,
就像它们适用于应用程序工作负载一样。 就像它们适用于应用程序工作负载一样。
@@ -17,7 +17,7 @@ weight: 40
This page provides an overview of best practices when it comes to enforcing This page provides an overview of best practices when it comes to enforcing
[Pod Security Standards](/docs/concepts/security/pod-security-standards). [Pod Security Standards](/docs/concepts/security/pod-security-standards).
--> -->
本页提供实施 [Pod 安全标准(Pod Security Standards](/zh/docs/concepts/security/pod-security-standards) 本页提供实施 [Pod 安全标准(Pod Security Standards](/zh-cn/docs/concepts/security/pod-security-standards)
时的一些最佳实践。 时的一些最佳实践。
<!-- body --> <!-- body -->
@@ -33,7 +33,7 @@ This page provides an overview of best practices when it comes to enforcing
The [Pod Security Admission Controller](/docs/reference/access-authn-authz/admission-controllers/#podsecurity) The [Pod Security Admission Controller](/docs/reference/access-authn-authz/admission-controllers/#podsecurity)
intends to replace the deprecated PodSecurityPolicies. intends to replace the deprecated PodSecurityPolicies.
--> -->
[Pod 安全性准入控制器](/zh/docs/reference/access-authn-authz/admission-controllers/#podsecurity) [Pod 安全性准入控制器](/zh-cn/docs/reference/access-authn-authz/admission-controllers/#podsecurity)
尝试替换已被废弃的 PodSecurityPolicies。 尝试替换已被废弃的 PodSecurityPolicies。
<!-- <!--
@@ -58,7 +58,7 @@ we provide an [example](/docs/concepts/security/pod-security-admission/#applying
that illustrates how the PodSecurity labels can be applied in bulk. that illustrates how the PodSecurity labels can be applied in bulk.
--> -->
针对所有名字空间中的所有负载都具有相同的安全性需求的场景, 针对所有名字空间中的所有负载都具有相同的安全性需求的场景,
我们提供了一个[示例](/zh/docs/concepts/security/pod-security-admission/#applying-to-all-namespaces) 我们提供了一个[示例](/zh-cn/docs/concepts/security/pod-security-admission/#applying-to-all-namespaces)
用来展示如何批量应用 Pod 安全性标签。 用来展示如何批量应用 Pod 安全性标签。
<!-- <!--
@@ -53,7 +53,7 @@ component.
--> -->
## 控制面行为 {#control-plane-behavior} ## 控制面行为 {#control-plane-behavior}
所有的[控制面组件](/zh/docs/concepts/overview/components/#control-plane-components) 所有的[控制面组件](/zh-cn/docs/concepts/overview/components/#control-plane-components)
都支持以一组可相互替换的资源池的形式来运行,每个组件都有多个副本。 都支持以一组可相互替换的资源池的形式来运行,每个组件都有多个副本。
<!-- <!--
@@ -108,7 +108,7 @@ These labels can include
--> -->
节点启动时,每个节点上的 kubelet 会向 Kubernetes API 中代表该 kubelet 的 Node 对象 节点启动时,每个节点上的 kubelet 会向 Kubernetes API 中代表该 kubelet 的 Node 对象
添加 {{< glossary_tooltip text="标签" term_id="label" >}}。 添加 {{< glossary_tooltip text="标签" term_id="label" >}}。
这些标签可能包含[区信息](/zh/docs/reference/labels-annotations-taints/#topologykubernetesiozone)。 这些标签可能包含[区信息](/zh-cn/docs/reference/labels-annotations-taints/#topologykubernetesiozone)。
<!-- <!--
If your cluster spans multiple zones or regions, you can use node labels If your cluster spans multiple zones or regions, you can use node labels
@@ -122,7 +122,7 @@ Pods for better expected availability, reducing the risk that a correlated
failure affects your whole workload. failure affects your whole workload.
--> -->
如果你的集群跨了多个可用区或者地理区域,你可以使用节点标签,结合 如果你的集群跨了多个可用区或者地理区域,你可以使用节点标签,结合
[Pod 拓扑分布约束](/zh/docs/concepts/workloads/pods/pod-topology-spread-constraints/) [Pod 拓扑分布约束](/zh-cn/docs/concepts/workloads/pods/pod-topology-spread-constraints/)
来控制如何在你的集群中多个失效域之间分布 Pods。这里的失效域可以是 来控制如何在你的集群中多个失效域之间分布 Pods。这里的失效域可以是
地理区域、可用区甚至是特定节点。 地理区域、可用区甚至是特定节点。
这些提示信息使得{{< glossary_tooltip text="调度器" term_id="kube-scheduler" >}} 这些提示信息使得{{< glossary_tooltip text="调度器" term_id="kube-scheduler" >}}
@@ -178,7 +178,7 @@ You can apply [node selector constraints](/docs/concepts/scheduling-eviction/ass
to Pods that you create, as well as to Pod templates in workload resources to Pods that you create, as well as to Pod templates in workload resources
such as Deployment, StatefulSet, or Job. such as Deployment, StatefulSet, or Job.
--> -->
你可以应用[节点选择算符约束](/zh/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector) 你可以应用[节点选择算符约束](/zh-cn/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector)
到你所创建的 Pods 上,或者为 Deployment、StatefulSet 或 Job 这类工作负载资源 到你所创建的 Pods 上,或者为 Deployment、StatefulSet 或 Job 这类工作负载资源
中的 Pod 模板设置此类约束。 中的 Pod 模板设置此类约束。
@@ -195,7 +195,7 @@ are only placed into the same zone as that volume.
## 跨区的存储访问 ## 跨区的存储访问
当创建持久卷时,`PersistentVolumeLabel` 当创建持久卷时,`PersistentVolumeLabel`
[准入控制器](/zh/docs/reference/access-authn-authz/admission-controllers/) [准入控制器](/zh-cn/docs/reference/access-authn-authz/admission-controllers/)
会自动向那些链接到特定区的 PersistentVolume 添加区标签。 会自动向那些链接到特定区的 PersistentVolume 添加区标签。
{{< glossary_tooltip text="调度器" term_id="kube-scheduler" >}}通过其 {{< glossary_tooltip text="调度器" term_id="kube-scheduler" >}}通过其
`NoVolumeZoneConflict` 断言确保申领给定 PersistentVolume 的 Pods 只会 `NoVolumeZoneConflict` 断言确保申领给定 PersistentVolume 的 Pods 只会
@@ -211,7 +211,7 @@ see [Allowed topologies](/docs/concepts/storage/storage-classes/#allowed-topolog
你可以为 PersistentVolumeClaim 指定{{< glossary_tooltip text="StorageClass" term_id="storage-class" >}} 你可以为 PersistentVolumeClaim 指定{{< glossary_tooltip text="StorageClass" term_id="storage-class" >}}
以设置该类中的存储可以使用的失效域(区)。 以设置该类中的存储可以使用的失效域(区)。
要了解如何配置能够感知失效域或区的 StorageClass,请参阅 要了解如何配置能够感知失效域或区的 StorageClass,请参阅
[可用的拓扑逻辑](/zh/docs/concepts/storage/storage-classes/#allowed-topologies)。 [可用的拓扑逻辑](/zh-cn/docs/concepts/storage/storage-classes/#allowed-topologies)。
<!-- <!--
## Networking ## Networking
@@ -227,7 +227,7 @@ Check your cloud provider's documentation for details.
## 网络 {#networking} ## 网络 {#networking}
Kubernetes 自身不提供与可用区相关的联网配置。 Kubernetes 自身不提供与可用区相关的联网配置。
你可以使用[网络插件](/zh/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/) 你可以使用[网络插件](/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/)
来配置集群的联网,该网络解决方案可能拥有一些与可用区相关的元素。 来配置集群的联网,该网络解决方案可能拥有一些与可用区相关的元素。
例如,如果你的云提供商支持 `type=LoadBalancer` 的 Service,则负载均衡器 例如,如果你的云提供商支持 `type=LoadBalancer` 的 Service,则负载均衡器
可能仅会将请求流量发送到运行在负责处理给定连接的负载均衡器组件所在的区。 可能仅会将请求流量发送到运行在负责处理给定连接的负载均衡器组件所在的区。
@@ -278,5 +278,5 @@ To learn how the scheduler places Pods in a cluster, honoring the configured con
visit [Scheduling and Eviction](/docs/concepts/scheduling-eviction/). visit [Scheduling and Eviction](/docs/concepts/scheduling-eviction/).
--> -->
要了解调度器如何在集群中放置 Pods 并遵从所配置的约束,可参阅 要了解调度器如何在集群中放置 Pods 并遵从所配置的约束,可参阅
[调度与驱逐](/zh/docs/concepts/scheduling-eviction/)。 [调度与驱逐](/zh-cn/docs/concepts/scheduling-eviction/)。
@@ -53,7 +53,7 @@ has a single point of failure. Creating a highly available cluster means conside
- Load balancing traffic to the clusters {{< glossary_tooltip term_id="kube-apiserver" text="API server" >}}. - Load balancing traffic to the clusters {{< glossary_tooltip term_id="kube-apiserver" text="API server" >}}.
- Having enough worker nodes available, or able to quickly become available, as changing workloads warrant it. - Having enough worker nodes available, or able to quickly become available, as changing workloads warrant it.
--> -->
- *可用性*:一个单机的 Kubernetes [学习环境](/zh/docs/setup/#学习环境) - *可用性*:一个单机的 Kubernetes [学习环境](/zh-cn/docs/setup/#学习环境)
具有单点失效特点。创建高可用的集群则意味着需要考虑: 具有单点失效特点。创建高可用的集群则意味着需要考虑:
- 将控制面与工作节点分开 - 将控制面与工作节点分开
- 在多个节点上提供控制面组件的副本 - 在多个节点上提供控制面组件的副本
@@ -90,11 +90,11 @@ by managing [policies](/docs/concepts/policy/) and
- *安全性与访问管理*:在你自己的学习环境 Kubernetes 集群上,你拥有完全的管理员特权。 - *安全性与访问管理*:在你自己的学习环境 Kubernetes 集群上,你拥有完全的管理员特权。
但是针对运行着重要工作负载的共享集群,用户账户不止一两个时,就需要更细粒度 但是针对运行着重要工作负载的共享集群,用户账户不止一两个时,就需要更细粒度
的方案来确定谁或者哪些主体可以访问集群资源。 的方案来确定谁或者哪些主体可以访问集群资源。
你可以使用基于角色的访问控制([RBAC](/zh/docs/reference/access-authn-authz/rbac/) 你可以使用基于角色的访问控制([RBAC](/zh-cn/docs/reference/access-authn-authz/rbac/)
和其他安全机制来确保用户和负载能够访问到所需要的资源,同时确保工作负载及集群 和其他安全机制来确保用户和负载能够访问到所需要的资源,同时确保工作负载及集群
自身仍然是安全的。 自身仍然是安全的。
你可以通过管理[策略](/zh/docs/concets/policy/)和 你可以通过管理[策略](/zh-cn/docs/concets/policy/)和
[容器资源](/zh/docs/concepts/configuration/manage-resources-containers)来 [容器资源](/zh-cn/docs/concepts/configuration/manage-resources-containers)来
针对用户和工作负载所可访问的资源设置约束, 针对用户和工作负载所可访问的资源设置约束,
<!-- <!--
@@ -105,7 +105,7 @@ providers or other [Kubernetes Partners](https://kubernetes.io/partners/).
Options include: Options include:
--> -->
在自行构造 Kubernetes 生产环境之前,请考虑将这一任务的部分或者全部交给 在自行构造 Kubernetes 生产环境之前,请考虑将这一任务的部分或者全部交给
[云方案承包服务](/zh/docs/setup/production-environment/turnkey-solutions) [云方案承包服务](/zh-cn/docs/setup/production-environment/turnkey-solutions)
提供商或者其他 [Kubernetes 合作伙伴](https://kubernetes.io/partners/)。 提供商或者其他 [Kubernetes 合作伙伴](https://kubernetes.io/partners/)。
选项有: 选项有:
@@ -168,7 +168,7 @@ discarded if something goes seriously wrong, this might meet your needs.
最简单的 Kubernetes 集群中,整个控制面和工作节点服务都运行在同一台机器上。 最简单的 Kubernetes 集群中,整个控制面和工作节点服务都运行在同一台机器上。
你可以通过添加工作节点来提升环境能力,正如 你可以通过添加工作节点来提升环境能力,正如
[Kubernetes 组件](/zh/docs/concepts/overview/components/)示意图所示。 [Kubernetes 组件](/zh-cn/docs/concepts/overview/components/)示意图所示。
如果只需要集群在很短的一段时间内可用,或者可以在某些事物出现严重问题时直接丢弃, 如果只需要集群在很短的一段时间内可用,或者可以在某些事物出现严重问题时直接丢弃,
这种配置可能符合你的需要。 这种配置可能符合你的需要。
@@ -194,9 +194,9 @@ methods. Different [Container Runtimes](/docs/setup/production-environment/conta
are available to use with your deployments. are available to use with your deployments.
--> -->
- *选择部署工具*:你可以使用类似 kubeadm、kops 和 kubespray 这类工具来部署控制面。 - *选择部署工具*:你可以使用类似 kubeadm、kops 和 kubespray 这类工具来部署控制面。
参阅[使用部署工具安装 Kubernetes](/zh/docs/setup/production-environment/tools/) 参阅[使用部署工具安装 Kubernetes](/zh-cn/docs/setup/production-environment/tools/)
以了解使用这类部署方法来完成生产就绪部署的技巧。 以了解使用这类部署方法来完成生产就绪部署的技巧。
存在不同的[容器运行时](/zh/docs/setup/production-environment/container-runtimes/) 存在不同的[容器运行时](/zh-cn/docs/setup/production-environment/container-runtimes/)
可供你的部署采用。 可供你的部署采用。
<!-- <!--
- *Manage certificates*: Secure communications between control plane services - *Manage certificates*: Secure communications between control plane services
@@ -206,7 +206,7 @@ See [PKI certificates and requirements](/docs/setup/best-practices/certificates/
--> -->
- *管理证书*:控制面服务之间的安全通信是通过证书来完成的。证书是在部署期间 - *管理证书*:控制面服务之间的安全通信是通过证书来完成的。证书是在部署期间
自动生成的,或者你也可以使用你自己的证书机构来生成它们。 自动生成的,或者你也可以使用你自己的证书机构来生成它们。
参阅 [PKI 证书和需求](/zh/docs/setup/best-practices/certificates/)了解细节。 参阅 [PKI 证书和需求](/zh-cn/docs/setup/best-practices/certificates/)了解细节。
<!-- <!--
- *Configure load balancer for apiserver*: Configure a load balancer - *Configure load balancer for apiserver*: Configure a load balancer
to distribute external API requests to the apiserver service instances running on different nodes. See to distribute external API requests to the apiserver service instances running on different nodes. See
@@ -215,7 +215,7 @@ for details.
--> -->
- *为 API 服务器配置负载均衡*:配置负载均衡器来将外部的 API 请求散布给运行在 - *为 API 服务器配置负载均衡*:配置负载均衡器来将外部的 API 请求散布给运行在
不同节点上的 API 服务实例。参阅 不同节点上的 API 服务实例。参阅
[创建外部负载均衡器](/zh/docs/access-application-cluster/create-external-load-balancer/) [创建外部负载均衡器](/zh-cn/docs/access-application-cluster/create-external-load-balancer/)
了解细节。 了解细节。
<!-- <!--
- *Separate and backup etcd service*: The etcd services can either run on the - *Separate and backup etcd service*: The etcd services can either run on the
@@ -233,8 +233,8 @@ for details.
因为 etcd 存储着集群的配置数据,应该经常性地对 etcd 数据库进行备份, 因为 etcd 存储着集群的配置数据,应该经常性地对 etcd 数据库进行备份,
以确保在需要的时候你可以修复该数据库。与配置和使用 etcd 相关的细节可参阅 以确保在需要的时候你可以修复该数据库。与配置和使用 etcd 相关的细节可参阅
[etcd FAQ](/https://etcd.io/docs/v3.4/faq/)。 [etcd FAQ](/https://etcd.io/docs/v3.4/faq/)。
更多的细节可参阅[为 Kubernetes 运维 etcd 集群](/zh/docs/tasks/administer-cluster/configure-upgrade-etcd/) 更多的细节可参阅[为 Kubernetes 运维 etcd 集群](/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/)
和[使用 kubeadm 配置高可用的 etcd 集群](/zh/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/)。 和[使用 kubeadm 配置高可用的 etcd 集群](/zh-cn/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/)。
<!-- <!--
- *Create multiple control plane systems*: For high availability, the - *Create multiple control plane systems*: For high availability, the
control plane should not be limited to a single machine. If the control plane control plane should not be limited to a single machine. If the control plane
@@ -268,7 +268,7 @@ See [Running in multiple zones](/docs/setup/best-practices/multiple-zones/) for
若干个可用区在一起可构成地理区域。 若干个可用区在一起可构成地理区域。
通过将集群分散到同一区域中的多个可用区内,即使某个可用区不可用,整个集群 通过将集群分散到同一区域中的多个可用区内,即使某个可用区不可用,整个集群
能够继续工作的机会也大大增加。 能够继续工作的机会也大大增加。
更多的细节可参阅[跨多个可用区运行](/zh/docs/setup/best-practices/multiple-zones/)。 更多的细节可参阅[跨多个可用区运行](/zh-cn/docs/setup/best-practices/multiple-zones/)。
<!-- <!--
- *Manage on-going features*: If you plan to keep your cluster over time, - *Manage on-going features*: If you plan to keep your cluster over time,
there are tasks you need to do to maintain its health and security. For example, there are tasks you need to do to maintain its health and security. For example,
@@ -280,10 +280,10 @@ for a longer list of Kubernetes administrative tasks.
--> -->
- *管理演进中的特性*:如果你计划长时间保留你的集群,就需要执行一些维护其 - *管理演进中的特性*:如果你计划长时间保留你的集群,就需要执行一些维护其
健康和安全的任务。例如,如果你采用 kubeadm 安装的集群,则有一些可以帮助你完成 健康和安全的任务。例如,如果你采用 kubeadm 安装的集群,则有一些可以帮助你完成
[证书管理](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/) [证书管理](/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/)
和[升级 kubeadm 集群](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade) 和[升级 kubeadm 集群](/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade)
的指令。 的指令。
参见[管理集群](/zh/docs/tasks/administer-cluster)了解一个 Kubernetes 参见[管理集群](/zh-cn/docs/tasks/administer-cluster)了解一个 Kubernetes
管理任务的较长列表。 管理任务的较长列表。
<!-- <!--
@@ -299,15 +299,15 @@ See [Backing up an etcd cluster](/docs/tasks/administer-cluster/configure-upgrad
for information on making an etcd backup plan. for information on making an etcd backup plan.
--> -->
要了解运行控制面服务时可使用的选项,可参阅 要了解运行控制面服务时可使用的选项,可参阅
[kube-apiserver](/zh/docs/reference/command-line-tools-reference/kube-apiserver/)、 [kube-apiserver](/zh-cn/docs/reference/command-line-tools-reference/kube-apiserver/)、
[kube-controller-manager](/zh/docs/reference/command-line-tools-reference/kube-controller-manager/) 和 [kube-controller-manager](/zh-cn/docs/reference/command-line-tools-reference/kube-controller-manager/) 和
[kube-scheduler](/zh/docs/reference/command-line-tools-reference/kube-scheduler/) [kube-scheduler](/zh-cn/docs/reference/command-line-tools-reference/kube-scheduler/)
组件参考页面。 组件参考页面。
如要了解高可用控制面的例子,可参阅 如要了解高可用控制面的例子,可参阅
[高可用拓扑结构选项](/zh/docs/setup/production-environment/tools/kubeadm/ha-topology/)、 [高可用拓扑结构选项](/zh-cn/docs/setup/production-environment/tools/kubeadm/ha-topology/)、
[使用 kubeadm 创建高可用集群](/zh/docs/setup/production-environment/tools/kubeadm/high-availability/) 以及[为 Kubernetes 运维 etcd 集群](/zh/docs/tasks/administer-cluster/configure-upgrade-etcd/)。 [使用 kubeadm 创建高可用集群](/zh-cn/docs/setup/production-environment/tools/kubeadm/high-availability/) 以及[为 Kubernetes 运维 etcd 集群](/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/)。
关于制定 etcd 备份计划,可参阅 关于制定 etcd 备份计划,可参阅
[对 etcd 集群执行备份](/zh/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster)。 [对 etcd 集群执行备份](/zh-cn/docs/tasks/administer-cluster/configure-upgrade-etcd/#backing-up-an-etcd-cluster)。
<!-- <!--
### Production worker nodes ### Production worker nodes
@@ -332,7 +332,7 @@ then add and run the appropriate
--> -->
- *配置节点*:节点可以是物理机或者虚拟机。如果你希望自行创建和管理节点, - *配置节点*:节点可以是物理机或者虚拟机。如果你希望自行创建和管理节点,
你可以安装一个受支持的操作系统,之后添加并运行合适的 你可以安装一个受支持的操作系统,之后添加并运行合适的
[节点服务](/zh/docs/concepts/overview/components/#node-components)。 [节点服务](/zh-cn/docs/concepts/overview/components/#node-components)。
考虑: 考虑:
<!-- <!--
- The demands of your workloads when you set up nodes by having appropriate memory, CPU, and disk speed and storage capacity available. - The demands of your workloads when you set up nodes by having appropriate memory, CPU, and disk speed and storage capacity available.
@@ -347,7 +347,7 @@ then add and run the appropriate
for information on how to ensure that a node meets the requirements to join for information on how to ensure that a node meets the requirements to join
a Kubernetes cluster. a Kubernetes cluster.
--> -->
- *验证节点*:参阅[验证节点配置](/zh/docs/setup/best-practices/node-conformance/) - *验证节点*:参阅[验证节点配置](/zh-cn/docs/setup/best-practices/node-conformance/)
以了解如何确保节点满足加入到 Kubernetes 集群的需求。 以了解如何确保节点满足加入到 Kubernetes 集群的需求。
<!-- <!--
- *Add nodes to the cluster*: If you are managing your own cluster you can - *Add nodes to the cluster*: If you are managing your own cluster you can
@@ -357,7 +357,7 @@ having them register themselves to the clusters apiserver. See the
--> -->
- *添加节点到集群中*:如果你自行管理你的集群,你可以通过安装配置你的机器, - *添加节点到集群中*:如果你自行管理你的集群,你可以通过安装配置你的机器,
之后或者手动加入集群,或者让它们自动注册到集群的 API 服务器。参阅 之后或者手动加入集群,或者让它们自动注册到集群的 API 服务器。参阅
[节点](/zh/docs/concepts/architecture/nodes/)节,了解如何配置 Kubernetes [节点](/zh-cn/docs/concepts/architecture/nodes/)节,了解如何配置 Kubernetes
以便以这些方式来添加节点。 以便以这些方式来添加节点。
<!-- <!--
- *Add Windows nodes to the cluster*: Kubernetes offers support for Windows - *Add Windows nodes to the cluster*: Kubernetes offers support for Windows
@@ -366,7 +366,7 @@ worker nodes, allowing you to run workloads implemented in Windows containers. S
--> -->
- *向集群中添加 Windows 节点*Kubernetes 提供对 Windows 工作节点的支持; - *向集群中添加 Windows 节点*Kubernetes 提供对 Windows 工作节点的支持;
这使得你可以运行实现于 Windows 容器内的工作负载。参阅 这使得你可以运行实现于 Windows 容器内的工作负载。参阅
[Kubernetes 中的 Windows](/zh/docs/setup/production-environment/windows/) [Kubernetes 中的 Windows](/zh-cn/docs/setup/production-environment/windows/)
了解进一步的详细信息。 了解进一步的详细信息。
<!-- <!--
- *Scale nodes*: Have a plan for expanding the capacity your cluster will - *Scale nodes*: Have a plan for expanding the capacity your cluster will
@@ -376,7 +376,7 @@ containers you need to run. If you are managing nodes yourself, this can mean
purchasing and installing your own physical equipment. purchasing and installing your own physical equipment.
--> -->
- *扩缩节点*:制定一个扩充集群容量的规划,你的集群最终会需要这一能力。 - *扩缩节点*:制定一个扩充集群容量的规划,你的集群最终会需要这一能力。
参阅[大规模集群考察事项](/zh/docs/setup/best-practices/cluster-large/) 参阅[大规模集群考察事项](/zh-cn/docs/setup/best-practices/cluster-large/)
以确定你所需要的节点数;这一规模是基于你要运行的 Pod 和容器个数来确定的。 以确定你所需要的节点数;这一规模是基于你要运行的 Pod 和容器个数来确定的。
如果你自行管理集群节点,这可能意味着要购买和安装你自己的物理设备。 如果你自行管理集群节点,这可能意味着要购买和安装你自己的物理设备。
<!-- <!--
@@ -406,7 +406,7 @@ daemon, you can ensure your nodes are healthy.
--> -->
- *安装节点健康检查*:对于重要的工作负载,你会希望确保节点以及在节点上 - *安装节点健康检查*:对于重要的工作负载,你会希望确保节点以及在节点上
运行的 Pod 处于健康状态。通过使用 运行的 Pod 处于健康状态。通过使用
[Node Problem Detector](/zh/docs/tasks/debug/debug-cluster/monitor-node-health/) [Node Problem Detector](/zh-cn/docs/tasks/debug/debug-cluster/monitor-node-health/)
你可以确保你的节点是健康的。 你可以确保你的节点是健康的。
<!-- <!--
@@ -450,18 +450,18 @@ for a description of these different methods of authenticating Kubernetes users.
你可以选择你要使用的认证方法。通过使用插件,API 服务器可以充分利用你所在 你可以选择你要使用的认证方法。通过使用插件,API 服务器可以充分利用你所在
组织的现有身份认证方法,例如 LDAP 或者 Kerberos。 组织的现有身份认证方法,例如 LDAP 或者 Kerberos。
关于认证 Kubernetes 用户身份的不同方法的描述,可参阅 关于认证 Kubernetes 用户身份的不同方法的描述,可参阅
[身份认证](/zh/docs/reference/access-authn-authz/authentication/)。 [身份认证](/zh-cn/docs/reference/access-authn-authz/authentication/)。
<!-- <!--
- *Authorization*: When you set out to authorize your regular users, you will probably choose between RBAC and ABAC authorization. See [Authorization Overview](/docs/reference/access-authn-authz/authorization/) to review different modes for authorizing user accounts (as well as service account access to your cluster): - *Authorization*: When you set out to authorize your regular users, you will probably choose between RBAC and ABAC authorization. See [Authorization Overview](/docs/reference/access-authn-authz/authorization/) to review different modes for authorizing user accounts (as well as service account access to your cluster):
--> -->
- *鉴权(Authorization)*:当你准备为一般用户执行权限判定时,你可能会需要 - *鉴权(Authorization)*:当你准备为一般用户执行权限判定时,你可能会需要
在 RBAC 和 ABAC 鉴权机制之间做出选择。参阅 在 RBAC 和 ABAC 鉴权机制之间做出选择。参阅
[鉴权概述](/zh/docs/reference/access-authn-authz/authorization/),了解 [鉴权概述](/zh-cn/docs/reference/access-authn-authz/authorization/),了解
对用户账户(以及访问你的集群的服务账户)执行鉴权的不同模式。 对用户账户(以及访问你的集群的服务账户)执行鉴权的不同模式。
<!-- <!--
- *Role-based access control* ([RBAC](/docs/reference/access-authn-authz/rbac/)): Lets you assign access to your cluster by allowing specific sets of permissions to authenticated users. Permissions can be assigned for a specific namespace (Role) or across the entire cluster (ClusterRole). Then using RoleBindings and ClusterRoleBindings, those permissions can be attached to particular users. - *Role-based access control* ([RBAC](/docs/reference/access-authn-authz/rbac/)): Lets you assign access to your cluster by allowing specific sets of permissions to authenticated users. Permissions can be assigned for a specific namespace (Role) or across the entire cluster (ClusterRole). Then using RoleBindings and ClusterRoleBindings, those permissions can be attached to particular users.
--> -->
- *基于角色的访问控制*[RBAC](/zh/docs/reference/access-authn-authz/rbac/)): - *基于角色的访问控制*[RBAC](/zh-cn/docs/reference/access-authn-authz/rbac/)):
让你通过为通过身份认证的用户授权特定的许可集合来控制集群访问。 让你通过为通过身份认证的用户授权特定的许可集合来控制集群访问。
访问许可可以针对某特定名字空间(Role)或者针对整个集群(ClusterRole)。 访问许可可以针对某特定名字空间(Role)或者针对整个集群(ClusterRole)。
通过使用 RoleBinding 和 ClusterRoleBinding 对象,这些访问许可可以被 通过使用 RoleBinding 和 ClusterRoleBinding 对象,这些访问许可可以被
@@ -469,12 +469,12 @@ for a description of these different methods of authenticating Kubernetes users.
<!-- <!--
- *Attribute-based access control* ([ABAC](/docs/reference/access-authn-authz/abac/)): Lets you create policies based on resource attributes in the cluster and will allow or deny access based on those attributes. Each line of a policy file identifies versioning properties (apiVersion and kind) and a map of spec properties to match the subject (user or group), resource property, non-resource property (/version or /apis), and readonly. See [Examples](/docs/reference/access-authn-authz/abac/#examples) for details. - *Attribute-based access control* ([ABAC](/docs/reference/access-authn-authz/abac/)): Lets you create policies based on resource attributes in the cluster and will allow or deny access based on those attributes. Each line of a policy file identifies versioning properties (apiVersion and kind) and a map of spec properties to match the subject (user or group), resource property, non-resource property (/version or /apis), and readonly. See [Examples](/docs/reference/access-authn-authz/abac/#examples) for details.
--> -->
- *基于属性的访问控制*[ABAC](/zh/docs/reference/access-authn-authz/abac/)): - *基于属性的访问控制*[ABAC](/zh-cn/docs/reference/access-authn-authz/abac/)):
让你能够基于集群中资源的属性来创建访问控制策略,基于对应的属性来决定 让你能够基于集群中资源的属性来创建访问控制策略,基于对应的属性来决定
允许还是拒绝访问。策略文件的每一行都给出版本属性(apiVersion 和 kind 允许还是拒绝访问。策略文件的每一行都给出版本属性(apiVersion 和 kind
以及一个规约属性的映射,用来匹配主体(用户或组)、资源属性、非资源属性 以及一个规约属性的映射,用来匹配主体(用户或组)、资源属性、非资源属性
/version 或 /apis)和只读属性。 /version 或 /apis)和只读属性。
参阅[示例](/zh/docs/reference/access-authn-authz/abac/#examples)以了解细节。 参阅[示例](/zh-cn/docs/reference/access-authn-authz/abac/#examples)以了解细节。
<!-- <!--
As someone setting up authentication and authorization on your production Kubernetes cluster, here are some things to consider: As someone setting up authentication and authorization on your production Kubernetes cluster, here are some things to consider:
@@ -505,7 +505,7 @@ for details.
- *创建用户证书和角色绑定(RBAC)*:如果你在使用 RBAC 鉴权,用户可以创建 - *创建用户证书和角色绑定(RBAC)*:如果你在使用 RBAC 鉴权,用户可以创建
由集群 CA 签名的 CertificateSigningRequestCSR)。接下来你就可以将 Role 由集群 CA 签名的 CertificateSigningRequestCSR)。接下来你就可以将 Role
和 ClusterRole 绑定到每个用户身上。 和 ClusterRole 绑定到每个用户身上。
参阅[证书签名请求](/zh/docs/reference/access-authn-authz/certificate-signing-requests/) 参阅[证书签名请求](/zh-cn/docs/reference/access-authn-authz/certificate-signing-requests/)
了解细节。 了解细节。
<!-- <!--
- *Create policies that combine attributes (ABAC)*: If you are using ABAC - *Create policies that combine attributes (ABAC)*: If you are using ABAC
@@ -517,7 +517,7 @@ pod), namespace, or apiGroup. For more information, see
- *创建组合属性的策略(ABAC)*:如果你在使用 ABAC 鉴权,你可以设置属性组合 - *创建组合属性的策略(ABAC)*:如果你在使用 ABAC 鉴权,你可以设置属性组合
以构造策略对所选用户或用户组执行鉴权,判定他们是否可访问特定的资源 以构造策略对所选用户或用户组执行鉴权,判定他们是否可访问特定的资源
(例如 Pod)、名字空间或者 apiGroup。进一步的详细信息可参阅 (例如 Pod)、名字空间或者 apiGroup。进一步的详细信息可参阅
[示例](/zh/docs/reference/access-authn-authz/abac/#examples)。 [示例](/zh-cn/docs/reference/access-authn-authz/abac/#examples)。
<!-- <!--
- *Consider Admission Controllers*: Additional forms of authorization for - *Consider Admission Controllers*: Additional forms of authorization for
requests that can come in through the API server include requests that can come in through the API server include
@@ -527,9 +527,9 @@ Webhooks and other special authorization types need to be enabled by adding
to the API server. to the API server.
--> -->
- *考虑准入控制器*:针对指向 API 服务器的请求的其他鉴权形式还包括 - *考虑准入控制器*:针对指向 API 服务器的请求的其他鉴权形式还包括
[Webhook 令牌认证](/zh/docs/reference/access-authn-authz/authentication/#webhook-token-authentication)。 [Webhook 令牌认证](/zh-cn/docs/reference/access-authn-authz/authentication/#webhook-token-authentication)。
Webhook 和其他特殊的鉴权类型需要通过向 API 服务器添加 Webhook 和其他特殊的鉴权类型需要通过向 API 服务器添加
[准入控制器](/zh/docs/reference/access-authn-authz/admission-controllers/) [准入控制器](/zh-cn/docs/reference/access-authn-authz/admission-controllers/)
来启用。 来启用。
<!-- <!--
@@ -552,7 +552,7 @@ for details. You can also set
for inheriting limits. for inheriting limits.
--> -->
- *设置名字空间限制*:为每个名字空间的内存和 CPU 设置配额。 - *设置名字空间限制*:为每个名字空间的内存和 CPU 设置配额。
参阅[管理内存、CPU 和 API 资源](/zh/docs/tasks/administer-cluster/manage-resources/) 参阅[管理内存、CPU 和 API 资源](/zh-cn/docs/tasks/administer-cluster/manage-resources/)
以了解细节。你也可以设置 以了解细节。你也可以设置
[层次化名字空间](/blog/2020/08/14/introducing-hierarchical-namespaces/) [层次化名字空间](/blog/2020/08/14/introducing-hierarchical-namespaces/)
来继承这类约束。 来继承这类约束。
@@ -563,7 +563,7 @@ your DNS service must be ready to scale up as well. See
--> -->
- *为 DNS 请求做准备*:如果你希望工作负载能够完成大规模扩展,你的 DNS 服务 - *为 DNS 请求做准备*:如果你希望工作负载能够完成大规模扩展,你的 DNS 服务
也必须能够扩大规模。参阅 也必须能够扩大规模。参阅
[自动扩缩集群中 DNS 服务](/zh/docs/tasks/administer-cluster/dns-horizontal-autoscaling/)。 [自动扩缩集群中 DNS 服务](/zh-cn/docs/tasks/administer-cluster/dns-horizontal-autoscaling/)。
<!-- <!--
- *Create additional service accounts*: User accounts determine what users can - *Create additional service accounts*: User accounts determine what users can
do on a cluster, while a service account defines pod access within a particular do on a cluster, while a service account defines pod access within a particular
@@ -574,17 +574,17 @@ for information on creating a new service account. For example, you might want t
- *创建额外的服务账户*:用户账户决定用户可以在集群上执行的操作,服务账号则定义的 - *创建额外的服务账户*:用户账户决定用户可以在集群上执行的操作,服务账号则定义的
是在特定名字空间中 Pod 的访问权限。 是在特定名字空间中 Pod 的访问权限。
默认情况下,Pod 使用所在名字空间中的 default 服务账号。 默认情况下,Pod 使用所在名字空间中的 default 服务账号。
参阅[管理服务账号](/zh/docs/reference/access-authn-authz/service-accounts-admin/) 参阅[管理服务账号](/zh-cn/docs/reference/access-authn-authz/service-accounts-admin/)
以了解如何创建新的服务账号。例如,你可能需要: 以了解如何创建新的服务账号。例如,你可能需要:
<!-- <!--
- Add secrets that a pod could use to pull images from a particular container registry. See [Configure Service Accounts for Pods](/docs/tasks/configure-pod-container/configure-service-account/) for an example. - Add secrets that a pod could use to pull images from a particular container registry. See [Configure Service Accounts for Pods](/docs/tasks/configure-pod-container/configure-service-account/) for an example.
- Assign RBAC permissions to a service account. See [ServiceAccount permissions](/docs/reference/access-authn-authz/rbac/#service-account-permissions) for details. - Assign RBAC permissions to a service account. See [ServiceAccount permissions](/docs/reference/access-authn-authz/rbac/#service-account-permissions) for details.
--> -->
- 为 Pod 添加 Secret,以便 Pod 能够从某特定的容器镜像仓库拉取镜像。 - 为 Pod 添加 Secret,以便 Pod 能够从某特定的容器镜像仓库拉取镜像。
参阅[为 Pod 配置服务账号](/zh/docs/tasks/configure-pod-container/configure-service-account/) 参阅[为 Pod 配置服务账号](/zh-cn/docs/tasks/configure-pod-container/configure-service-account/)
以获得示例。 以获得示例。
- 为服务账号设置 RBAC 访问许可。参阅 - 为服务账号设置 RBAC 访问许可。参阅
[服务账号访问许可](/zh/docs/reference/access-authn-authz/rbac/#service-account-permissions) [服务账号访问许可](/zh-cn/docs/reference/access-authn-authz/rbac/#service-account-permissions)
了解细节。 了解细节。
## {{% heading "whatsnext" %}} ## {{% heading "whatsnext" %}}
@@ -601,38 +601,38 @@ and the
[API server](/docs/setup/production-environment/tools/kubeadm/ha-topology/). [API server](/docs/setup/production-environment/tools/kubeadm/ha-topology/).
--> -->
- 决定你是想自行构造自己的生产用 Kubernetes 还是从某可用的 - 决定你是想自行构造自己的生产用 Kubernetes 还是从某可用的
[云服务外包厂商](/zh/docs/setup/production-environment/turnkey-solutions/) [云服务外包厂商](/zh-cn/docs/setup/production-environment/turnkey-solutions/)
或 [Kubernetes 合作伙伴](https://kubernetes.io/partners/)获得集群。 或 [Kubernetes 合作伙伴](https://kubernetes.io/partners/)获得集群。
- 如果你决定自行构造集群,则需要规划如何处理 - 如果你决定自行构造集群,则需要规划如何处理
[证书](/zh/docs/setup/best-practices/certificates/) [证书](/zh-cn/docs/setup/best-practices/certificates/)
并为类似 并为类似
[etcd](/zh/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/) [etcd](/zh-cn/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/)
[API 服务器](/zh/docs/setup/production-environment/tools/kubeadm/ha-topology/) [API 服务器](/zh-cn/docs/setup/production-environment/tools/kubeadm/ha-topology/)
这些功能组件配置高可用能力。 这些功能组件配置高可用能力。
<!-- <!--
- Choose from [kubeadm](/docs/setup/production-environment/tools/kubeadm/), [kops](/docs/setup/production-environment/tools/kops/) or [Kubespray](/docs/setup/production-environment/tools/kubespray/) - Choose from [kubeadm](/docs/setup/production-environment/tools/kubeadm/), [kops](/docs/setup/production-environment/tools/kops/) or [Kubespray](/docs/setup/production-environment/tools/kubespray/)
deployment methods. deployment methods.
--> -->
- 选择使用 [kubeadm](/zh/docs/setup/production-environment/tools/kubeadm/)、 - 选择使用 [kubeadm](/zh-cn/docs/setup/production-environment/tools/kubeadm/)、
[kops](/zh/docs/setup/production-environment/tools/kops/) 或 [kops](/zh-cn/docs/setup/production-environment/tools/kops/) 或
[Kubespray](/zh/docs/setup/production-environment/tools/kubespray/) [Kubespray](/zh-cn/docs/setup/production-environment/tools/kubespray/)
作为部署方法。 作为部署方法。
<!-- <!--
- Configure user management by determining your - Configure user management by determining your
[Authentication](/docs/reference/access-authn-authz/authentication/) and [Authentication](/docs/reference/access-authn-authz/authentication/) and
[Authorization](/docs/reference/access-authn-authz/authorization/) methods. [Authorization](/docs/reference/access-authn-authz/authorization/) methods.
--> -->
- 通过决定[身份认证](/zh/docs/reference/access-authn-authz/authentication/)和 - 通过决定[身份认证](/zh-cn/docs/reference/access-authn-authz/authentication/)和
[鉴权](/zh/docs/reference/access-authn-authz/authorization/)方法来配置用户管理。 [鉴权](/zh-cn/docs/reference/access-authn-authz/authorization/)方法来配置用户管理。
<!-- <!--
- Prepare for application workloads by setting up - Prepare for application workloads by setting up
[resource limits](/docs/tasks/administer-cluster/manage-resources/), [resource limits](/docs/tasks/administer-cluster/manage-resources/),
[DNS autoscaling](/docs/tasks/administer-cluster/dns-horizontal-autoscaling/) [DNS autoscaling](/docs/tasks/administer-cluster/dns-horizontal-autoscaling/)
and [service accounts](/docs/reference/access-authn-authz/service-accounts-admin/). and [service accounts](/docs/reference/access-authn-authz/service-accounts-admin/).
--> -->
- 通过配置[资源限制](/zh/docs/tasks/administer-cluster/manage-resources/)、 - 通过配置[资源限制](/zh-cn/docs/tasks/administer-cluster/manage-resources/)、
[DNS 自动扩缩](/zh/docs/tasks/administer-cluster/dns-horizontal-autoscaling/) [DNS 自动扩缩](/zh-cn/docs/tasks/administer-cluster/dns-horizontal-autoscaling/)
和[服务账号](/zh/docs/reference/access-authn-authz/service-accounts-admin/) 和[服务账号](/zh-cn/docs/reference/access-authn-authz/service-accounts-admin/)
来为应用负载作准备。 来为应用负载作准备。
@@ -65,10 +65,10 @@ check the documentation for that version.
{{< note >}} {{< note >}}
提示:v1.24 之前的 Kubernetes 版本包括与 Docker Engine 的直接集成,使用名为 _dockershim_ 的组件。 提示:v1.24 之前的 Kubernetes 版本包括与 Docker Engine 的直接集成,使用名为 _dockershim_ 的组件。
这种特殊的直接整合不再是 Kubernetes 的一部分 这种特殊的直接整合不再是 Kubernetes 的一部分
(这次删除被作为 v1.20 发行版本的一部分[宣布](/zh/blog/2020/12/08/kubernetes-1-20-release-announcement/#dockershim-deprecation))。 (这次删除被作为 v1.20 发行版本的一部分[宣布](/zh-cn/blog/2020/12/08/kubernetes-1-20-release-announcement/#dockershim-deprecation))。
你可以阅读[检查 Dockershim 弃用是否会影响你](/zh/docs/tasks/administer-cluster/migrating-from-dockershim/check-if-dockershim-deprecation-affects-you/) 你可以阅读[检查 Dockershim 弃用是否会影响你](/zh-cn/docs/tasks/administer-cluster/migrating-from-dockershim/check-if-dockershim-deprecation-affects-you/)
以了解此删除可能会如何影响你。 以了解此删除可能会如何影响你。
要了解如何使用 dockershim 进行迁移,请参阅[从 dockershim 迁移](/zh/docs/tasks/administer-cluster/migrating-from-dockershim/)。 要了解如何使用 dockershim 进行迁移,请参阅[从 dockershim 迁移](/zh-cn/docs/tasks/administer-cluster/migrating-from-dockershim/)。
如果你正在运行 v{{< skew currentVersion >}} 以外的 Kubernetes 版本,检查该版本的文档。 如果你正在运行 v{{< skew currentVersion >}} 以外的 Kubernetes 版本,检查该版本的文档。
{{< /note >}} {{< /note >}}
@@ -90,7 +90,7 @@ For more information, see [Network Plugin Requirements](/docs/concepts/extend-ku
如果你确定不需要某个特定设置,则可以跳过它。 如果你确定不需要某个特定设置,则可以跳过它。
有关更多信息,请参阅[网络插件要求](/zh/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#network-plugin-requirements) 有关更多信息,请参阅[网络插件要求](/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#network-plugin-requirements)
或特定容器运行时的文档。 或特定容器运行时的文档。
<!-- <!--
@@ -305,7 +305,7 @@ Your container runtime must support at least v1alpha2 of the container runtime i
Kubernetes {{< skew currentVersion >}} defaults to using v1 of the CRI API.If a container runtime does not support the v1 API, the kubelet falls back to using the (deprecated) v1alpha2 API instead. Kubernetes {{< skew currentVersion >}} defaults to using v1 of the CRI API.If a container runtime does not support the v1 API, the kubelet falls back to using the (deprecated) v1alpha2 API instead.
--> -->
如果你希望将现有的由 kubeadm 管理的集群迁移到 `systemd` cgroup 驱动程序, 如果你希望将现有的由 kubeadm 管理的集群迁移到 `systemd` cgroup 驱动程序,
请按照[配置 cgroup 驱动程序](/zh/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/)操作。 请按照[配置 cgroup 驱动程序](/zh-cn/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/)操作。
## CRI 版本支持 {#cri-versions} ## CRI 版本支持 {#cri-versions}
@@ -388,7 +388,7 @@ When using kubeadm, manually configure the
[cgroup driver for kubelet](/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/#configuring-the-kubelet-cgroup-driver). [cgroup driver for kubelet](/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/#configuring-the-kubelet-cgroup-driver).
--> -->
当使用 kubeadm 时,请手动配置 当使用 kubeadm 时,请手动配置
[kubelet 的 cgroup 驱动](/zh/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/#configuring-the-kubelet-cgroup-driver). [kubelet 的 cgroup 驱动](/zh-cn/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/#configuring-the-kubelet-cgroup-driver).
### CRI-O ### CRI-O
@@ -495,6 +495,6 @@ Check the systemd unit named `cri-docker.socket` to find out the path to the CRI
As well as a container runtime, your cluster will need a working [network plugin](/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model). As well as a container runtime, your cluster will need a working [network plugin](/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model).
--> -->
除了容器运行时,你的集群还需要有效的[网络插件](/zh/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model)。 除了容器运行时,你的集群还需要有效的[网络插件](/zh-cn/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model)。
@@ -47,7 +47,7 @@ kops 是一个自动化的制备系统:
* You must have an [AWS account](https://docs.aws.amazon.com/polly/latest/dg/setting-up.html), generate [IAM keys](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys) and [configure](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration) them. The IAM user will need [adequate permissions](https://github.com/kubernetes/kops/blob/master/docs/getting_started/aws.md#setup-iam-user). * You must have an [AWS account](https://docs.aws.amazon.com/polly/latest/dg/setting-up.html), generate [IAM keys](https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys) and [configure](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html#cli-quick-configuration) them. The IAM user will need [adequate permissions](https://github.com/kubernetes/kops/blob/master/docs/getting_started/aws.md#setup-iam-user).
--> -->
* 你必须安装 [kubectl](/zh/docs/tasks/tools/)。 * 你必须安装 [kubectl](/zh-cn/docs/tasks/tools/)。
* 你必须安装[安装](https://github.com/kubernetes/kops#installing) `kops` * 你必须安装[安装](https://github.com/kubernetes/kops#installing) `kops`
到 64 位的(AMD64 和 Intel 64)设备架构上。 到 64 位的(AMD64 和 Intel 64)设备架构上。
* 你必须拥有一个 [AWS 账户](https://docs.aws.amazon.com/polly/latest/dg/setting-up.html) * 你必须拥有一个 [AWS 账户](https://docs.aws.amazon.com/polly/latest/dg/setting-up.html)
@@ -395,7 +395,7 @@ See the [list of add-ons](/docs/concepts/cluster-administration/addons/) to expl
--> -->
### 探索其他附加组件 ### 探索其他附加组件
请参阅[附加组件列表](/zh/docs/concepts/cluster-administration/addons/)探索其他附加组件, 请参阅[附加组件列表](/zh-cn/docs/concepts/cluster-administration/addons/)探索其他附加组件,
包括用于 Kubernetes 集群的日志记录、监视、网络策略、可视化和控制的工具。 包括用于 Kubernetes 集群的日志记录、监视、网络策略、可视化和控制的工具。
<!-- <!--
@@ -414,8 +414,8 @@ See the [list of add-ons](/docs/concepts/cluster-administration/addons/) to expl
* Learn about `kops` [advanced usage](https://github.com/kubernetes/kops) * Learn about `kops` [advanced usage](https://github.com/kubernetes/kops)
* See the `kops` [docs](https://github.com/kubernetes/kops) section for tutorials, best practices and advanced configuration options. * See the `kops` [docs](https://github.com/kubernetes/kops) section for tutorials, best practices and advanced configuration options.
--> -->
* 了解有关 Kubernetes 的[概念](/zh/docs/concepts/) 和 * 了解有关 Kubernetes 的[概念](/zh-cn/docs/concepts/) 和
[`kubectl`](/zh/docs/reference/kubectl/) 有关的更多信息。 [`kubectl`](/zh-cn/docs/reference/kubectl/) 有关的更多信息。
* 了解 `kops` [高级用法](https://github.com/kubernetes/kops)。 * 了解 `kops` [高级用法](https://github.com/kubernetes/kops)。
* 请参阅 `kops` [文档](https://github.com/kubernetes/kops) 获取教程、 * 请参阅 `kops` [文档](https://github.com/kubernetes/kops) 获取教程、
最佳做法和高级配置选项。 最佳做法和高级配置选项。
@@ -44,7 +44,7 @@ kubeadm 目前不支持对 CoreDNS 部署进行定制。
你必须手动更新 `kube-system/coredns` {{< glossary_tooltip text="ConfigMap" term_id="configmap" >}} 你必须手动更新 `kube-system/coredns` {{< glossary_tooltip text="ConfigMap" term_id="configmap" >}}
并在更新后重新创建 CoreDNS {{< glossary_tooltip text="Pods" term_id="pod" >}}。 并在更新后重新创建 CoreDNS {{< glossary_tooltip text="Pods" term_id="pod" >}}。
或者,你可以跳过默认的 CoreDNS 部署并部署你自己的 CoreDNS 变种。 或者,你可以跳过默认的 CoreDNS 部署并部署你自己的 CoreDNS 变种。
有关更多详细信息,请参阅[在 kubeadm 中使用 init phases](/zh/docs/reference/setup-tools/kubeadm/kubeadm-init/#init-phases). 有关更多详细信息,请参阅[在 kubeadm 中使用 init phases](/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-init/#init-phases).
{{< /note >}} {{< /note >}}
{{< note >}} {{< note >}}
@@ -53,7 +53,7 @@ To reconfigure a cluster that has already been created see
[Reconfiguring a kubeadm cluster](/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure). [Reconfiguring a kubeadm cluster](/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure).
--> -->
要重新配置已创建的集群,请参阅[重新配置 kubeadm 集群](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure)。 要重新配置已创建的集群,请参阅[重新配置 kubeadm 集群](/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure)。
{{< /note >}} {{< /note >}}
<!-- body --> <!-- body -->
@@ -284,7 +284,7 @@ alpha-numerically.
--> -->
- `target` 可以是 `kube-apiserver``kube-controller-manager``kube-scheduler``etcd` 之一。 - `target` 可以是 `kube-apiserver``kube-controller-manager``kube-scheduler``etcd` 之一。
- `patchtype` 可以是 `strategy``merge``json` 之一,并且这些必须匹配 - `patchtype` 可以是 `strategy``merge``json` 之一,并且这些必须匹配
[kubectl 支持](/zh/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch) 的补丁格式。 [kubectl 支持](/zh-cn/docs/tasks/manage-kubernetes-objects/update-api-object-kubectl-patch) 的补丁格式。
默认补丁类型是 `strategic` 的。 默认补丁类型是 `strategic` 的。
- `extension` 必须是 `json``yaml` - `extension` 必须是 `json``yaml`
- `suffix` 是一个可选字符串,可用于确定首先按字母数字应用哪些补丁。 - `suffix` 是一个可选字符串,可用于确定首先按字母数字应用哪些补丁。
@@ -323,13 +323,13 @@ before using them.
kubeadm 将相同的 `KubeletConfiguration` 配置应用于集群中的所有节点。 kubeadm 将相同的 `KubeletConfiguration` 配置应用于集群中的所有节点。
要应用节点特定设置,你可以使用 `kubelet` 参数进行覆盖,方法是将它们传递到 `InitConfiguration``JoinConfiguration` 要应用节点特定设置,你可以使用 `kubelet` 参数进行覆盖,方法是将它们传递到 `InitConfiguration``JoinConfiguration`
支持的 `nodeRegistration.kubeletExtraArgs` 字段中。一些 kubelet 参数已被弃用, 支持的 `nodeRegistration.kubeletExtraArgs` 字段中。一些 kubelet 参数已被弃用,
因此在使用这些参数之前,请在 [kubelet 参考文档](/zh/docs/reference/command-line-tools-reference/kubelet) 中检查它们的状态。 因此在使用这些参数之前,请在 [kubelet 参考文档](/zh-cn/docs/reference/command-line-tools-reference/kubelet) 中检查它们的状态。
{{< /note >}} {{< /note >}}
<!-- <!--
For more details see [Configuring each kubelet in your cluster using kubeadm](/docs/setup/production-environment/tools/kubeadm/kubelet-integration) For more details see [Configuring each kubelet in your cluster using kubeadm](/docs/setup/production-environment/tools/kubeadm/kubelet-integration)
--> -->
更多详情,请参阅[使用 kubeadm 配置集群中的每个 kubelet](/zh/docs/setup/production-environment/tools/kubeadm/kubelet-integration) 更多详情,请参阅[使用 kubeadm 配置集群中的每个 kubelet](/zh-cn/docs/setup/production-environment/tools/kubeadm/kubelet-integration)
<!-- <!--
## Customizing kube-proxy ## Customizing kube-proxy
@@ -26,7 +26,7 @@ In fact, you can use `kubeadm` to set up a cluster that will pass the
事实上,你可以使用 `kubeadm` 配置一个通过 事实上,你可以使用 `kubeadm` 配置一个通过
[Kubernetes 一致性测试](https://kubernetes.io/blog/2017/10/software-conformance-certification)的集群。 [Kubernetes 一致性测试](https://kubernetes.io/blog/2017/10/software-conformance-certification)的集群。
`kubeadm` 还支持其他集群生命周期功能, `kubeadm` 还支持其他集群生命周期功能,
例如[启动引导令牌](/zh/docs/reference/access-authn-authz/bootstrap-tokens/)和集群升级。 例如[启动引导令牌](/zh-cn/docs/reference/access-authn-authz/bootstrap-tokens/)和集群升级。
<!-- <!--
The `kubeadm` tool is good if you need: The `kubeadm` tool is good if you need:
@@ -83,7 +83,7 @@ applies to `kubeadm` as well as to Kubernetes overall.
Check that policy to learn about what versions of Kubernetes and `kubeadm` Check that policy to learn about what versions of Kubernetes and `kubeadm`
are supported. This page is written for Kubernetes {{< param "version" >}}. are supported. This page is written for Kubernetes {{< param "version" >}}.
--> -->
[Kubernetes 版本及版本偏差策略](/zh/docs/setup/release/version-skew-policy/#supported-versions)适用于 `kubeadm` 以及整个 Kubernetes。 [Kubernetes 版本及版本偏差策略](/zh-cn/docs/setup/release/version-skew-policy/#supported-versions)适用于 `kubeadm` 以及整个 Kubernetes。
查阅该策略以了解支持哪些版本的 Kubernetes 和 `kubeadm` 查阅该策略以了解支持哪些版本的 Kubernetes 和 `kubeadm`
该页面是为 Kubernetes {{< param "version" >}} 编写的。 该页面是为 Kubernetes {{< param "version" >}} 编写的。
@@ -132,7 +132,7 @@ Install a {{< glossary_tooltip term_id="container-runtime" text="container runti
For detailed instructions and other prerequisites, see [Installing kubeadm](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/). For detailed instructions and other prerequisites, see [Installing kubeadm](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/).
--> -->
在所有主机上安装 {{< glossary_tooltip term_id="container-runtime" text="容器运行时" >}} 和 kubeadm。 在所有主机上安装 {{< glossary_tooltip term_id="container-runtime" text="容器运行时" >}} 和 kubeadm。
详细说明和其他前提条件,请参见[安装 kubeadm](/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)。 详细说明和其他前提条件,请参见[安装 kubeadm](/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)。
<!-- <!--
If you have already installed kubeadm, run `apt-get update && If you have already installed kubeadm, run `apt-get update &&
@@ -171,11 +171,11 @@ for more details.
这个步骤是可选的,只适用于你希望 `kubeadm init``kubeadm join` 不去下载存放在 `k8s.gcr.io` 上的默认的容器镜像的情况。 这个步骤是可选的,只适用于你希望 `kubeadm init``kubeadm join` 不去下载存放在 `k8s.gcr.io` 上的默认的容器镜像的情况。
当你在离线的节点上创建一个集群的时候,Kubeadm 有一些命令可以帮助你预拉取所需的镜像。 当你在离线的节点上创建一个集群的时候,Kubeadm 有一些命令可以帮助你预拉取所需的镜像。
阅读[离线运行 kubeadm](/zh/docs/reference/setup-tools/kubeadm/kubeadm-init#custom-images) 阅读[离线运行 kubeadm](/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-init#custom-images)
获取更多的详情。 获取更多的详情。
Kubeadm 允许你给所需要的镜像指定一个自定义的镜像仓库。 Kubeadm 允许你给所需要的镜像指定一个自定义的镜像仓库。
阅读[使用自定义镜像](/zh/docs/reference/setup-tools/kubeadm/kubeadm-init#custom-images) 阅读[使用自定义镜像](/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-init#custom-images)
获取更多的详情。 获取更多的详情。
<!-- <!--
@@ -224,7 +224,7 @@ must specify an IPv6 address, for example `--apiserver-advertise-address=fd00::1
--> -->
1. (可选)`kubeadm` 试图通过使用已知的端点列表来检测容器运行时。 1. (可选)`kubeadm` 试图通过使用已知的端点列表来检测容器运行时。
使用不同的容器运行时或在预配置的节点上安装了多个容器运行时,请为 `kubeadm init` 指定 `--cri-socket` 参数。 使用不同的容器运行时或在预配置的节点上安装了多个容器运行时,请为 `kubeadm init` 指定 `--cri-socket` 参数。
请参阅[安装运行时](/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-runtime)。 请参阅[安装运行时](/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-runtime)。
1. (可选)除非另有说明,否则 `kubeadm` 使用与默认网关关联的网络接口来设置此控制平面节点 API server 的广播地址。 1. (可选)除非另有说明,否则 `kubeadm` 使用与默认网关关联的网络接口来设置此控制平面节点 API server 的广播地址。
要使用其他网络接口,请为 `kubeadm init` 设置 `--apiserver-advertise-address=<ip-address>` 参数。 要使用其他网络接口,请为 `kubeadm init` 设置 `--apiserver-advertise-address=<ip-address>` 参数。
要部署使用 IPv6 地址的 Kubernetes 集群, 要部署使用 IPv6 地址的 Kubernetes 集群,
@@ -292,14 +292,14 @@ kubeadm 不支持将没有 `--control-plane-endpoint` 参数的单个控制平
<!-- <!--
For more information about `kubeadm init` arguments, see the [kubeadm reference guide](/docs/reference/setup-tools/kubeadm/). For more information about `kubeadm init` arguments, see the [kubeadm reference guide](/docs/reference/setup-tools/kubeadm/).
--> -->
有关 `kubeadm init` 参数的更多信息,请参见 [kubeadm 参考指南](/zh/docs/reference/setup-tools/kubeadm/)。 有关 `kubeadm init` 参数的更多信息,请参见 [kubeadm 参考指南](/zh-cn/docs/reference/setup-tools/kubeadm/)。
<!-- <!--
To configure `kubeadm init` with a configuration file see To configure `kubeadm init` with a configuration file see
[Using kubeadm init with a configuration file](/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file). [Using kubeadm init with a configuration file](/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file).
--> -->
要使用配置文件配置 `kubeadm init` 命令, 要使用配置文件配置 `kubeadm init` 命令,
请参见[带配置文件使用 kubeadm init](/zh/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file)。 请参见[带配置文件使用 kubeadm init](/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file)。
<!-- <!--
To customize control plane components, including optional IPv6 assignment to liveness probe To customize control plane components, including optional IPv6 assignment to liveness probe
@@ -307,14 +307,14 @@ for control plane components and etcd server, provide extra arguments to each co
[custom arguments](/docs/setup/production-environment/tools/kubeadm/control-plane-flags/). [custom arguments](/docs/setup/production-environment/tools/kubeadm/control-plane-flags/).
--> -->
要自定义控制平面组件,包括可选的对控制平面组件和 etcd 服务器的活动探针提供 IPv6 支持, 要自定义控制平面组件,包括可选的对控制平面组件和 etcd 服务器的活动探针提供 IPv6 支持,
请参阅[自定义参数](/zh/docs/setup/production-environment/tools/kubeadm/control-plane-flags/)。 请参阅[自定义参数](/zh-cn/docs/setup/production-environment/tools/kubeadm/control-plane-flags/)。
<!-- <!--
To reconfigure a cluster that has already been created see To reconfigure a cluster that has already been created see
[Reconfiguring a kubeadm cluster](/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure). [Reconfiguring a kubeadm cluster](/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure).
--> -->
要重新配置一个已经创建的集群,请参见 要重新配置一个已经创建的集群,请参见
[重新配置一个 kubeadm 集群](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure)。 [重新配置一个 kubeadm 集群](/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure)。
<!-- <!--
To run `kubeadm init` again, you must first [tear down the cluster](#tear-down). To run `kubeadm init` again, you must first [tear down the cluster](#tear-down).
@@ -393,7 +393,7 @@ kubeadm 对 `admin.conf` 中的证书进行签名时,将其配置为
`system:masters` 是一个例外的、超级用户组,可以绕过鉴权层(例如 RBAC)。 `system:masters` 是一个例外的、超级用户组,可以绕过鉴权层(例如 RBAC)。
不要将 `admin.conf` 文件与任何人共享,应该使用 `kubeadm kubeconfig user` 不要将 `admin.conf` 文件与任何人共享,应该使用 `kubeadm kubeconfig user`
命令为其他用户生成 kubeconfig 文件,完成对他们的定制授权。 命令为其他用户生成 kubeconfig 文件,完成对他们的定制授权。
更多细节请参见[为其他用户生成 kubeconfig 文件](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs#kubeconfig-additional-users)。 更多细节请参见[为其他用户生成 kubeconfig 文件](/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-certs#kubeconfig-additional-users)。
{{< /warning >}} {{< /warning >}}
<!-- <!--
@@ -414,7 +414,7 @@ created, and deleted with the `kubeadm token` command. See the
这里包含的令牌是密钥。确保它的安全, 这里包含的令牌是密钥。确保它的安全,
因为拥有此令牌的任何人都可以将经过身份验证的节点添加到你的集群中。 因为拥有此令牌的任何人都可以将经过身份验证的节点添加到你的集群中。
可以使用 `kubeadm token` 命令列出,创建和删除这些令牌。 可以使用 `kubeadm token` 命令列出,创建和删除这些令牌。
请参阅 [kubeadm 参考指南](/zh/docs/reference/setup-tools/kubeadm/kubeadm-token/)。 请参阅 [kubeadm 参考指南](/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-token/)。
<!-- <!--
### Installing a Pod network add-on {#pod-network} ### Installing a Pod network add-on {#pod-network}
@@ -462,7 +462,7 @@ 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 Make sure that your Pod network plugin supports RBAC, and so do any manifests
that you use to deploy it. that you use to deploy it.
--> -->
- 默认情况下,`kubeadm` 将集群设置为使用和强制使用 [RBAC](/zh/docs/reference/access-authn-authz/rbac/)(基于角色的访问控制)。 - 默认情况下,`kubeadm` 将集群设置为使用和强制使用 [RBAC](/zh-cn/docs/reference/access-authn-authz/rbac/)(基于角色的访问控制)。
确保你的 Pod 网络插件支持 RBAC,以及用于部署它的 manifests 也是如此。 确保你的 Pod 网络插件支持 RBAC,以及用于部署它的 manifests 也是如此。
<!-- <!--
@@ -491,13 +491,13 @@ kubeadm 应该是与 CNI 无关的,对 CNI 驱动进行验证目前不在我
Several external projects provide Kubernetes Pod networks using CNI, some of which also Several external projects provide Kubernetes Pod networks using CNI, some of which also
support [Network Policy](/docs/concepts/services-networking/network-policies/). support [Network Policy](/docs/concepts/services-networking/network-policies/).
--> -->
一些外部项目为 Kubernetes 提供使用 CNI 的 Pod 网络,其中一些还支持[网络策略](/zh/docs/concepts/services-networking/network-policies/)。 一些外部项目为 Kubernetes 提供使用 CNI 的 Pod 网络,其中一些还支持[网络策略](/zh-cn/docs/concepts/services-networking/network-policies/)。
<!-- <!--
See a list of add-ons that implement the See a list of add-ons that implement the
[Kubernetes networking model](/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model). [Kubernetes networking model](/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model).
--> -->
请参阅实现 [Kubernetes 网络模型](/zh/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model)的附加组件列表。 请参阅实现 [Kubernetes 网络模型](/zh-cn/docs/concepts/cluster-administration/networking/#how-to-implement-the-kubernetes-networking-model)的附加组件列表。
<!-- <!--
You can install a Pod network add-on with the following command on the You can install a Pod network add-on with the following command on the
@@ -528,7 +528,7 @@ If your network is not working or CoreDNS is not in the `Running` state, check o
for `kubeadm`. for `kubeadm`.
--> -->
如果你的网络无法正常工作或 CoreDNS 不在“运行中”状态,请查看 `kubeadm` 如果你的网络无法正常工作或 CoreDNS 不在“运行中”状态,请查看 `kubeadm`
[故障排除指南](/zh/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/)。 [故障排除指南](/zh-cn/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/)。
<!-- <!--
### Managed node labels ### Managed node labels
@@ -544,7 +544,7 @@ The `node-role.kubernetes.io/control-plane` label is such a restricted label and
a privileged client after a node has been created. To do that manually you can do the same by using `kubectl label` a privileged client after a node has been created. To do that manually you can do the same by using `kubectl label`
and ensure it is using a privileged kubeconfig such as the kubeadm managed `/etc/kubernetes/admin.conf`. and ensure it is using a privileged kubeconfig such as the kubeadm managed `/etc/kubernetes/admin.conf`.
--> -->
默认情况下,kubeadm 启用 [NodeRestriction](/zh/docs/reference/access-authn-authz/admissiontrollers/#noderestriction) 默认情况下,kubeadm 启用 [NodeRestriction](/zh-cn/docs/reference/access-authn-authz/admissiontrollers/#noderestriction)
准入控制器来限制 kubelets 在节点注册时可以应用哪些标签。准入控制器文档描述 kubelet `--node-labels` 选项允许使用哪些标签。 准入控制器来限制 kubelets 在节点注册时可以应用哪些标签。准入控制器文档描述 kubelet `--node-labels` 选项允许使用哪些标签。
其中 `node-role.kubernetes.io/control-plane` 标签就是这样一个受限制的标签, 其中 `node-role.kubernetes.io/control-plane` 标签就是这样一个受限制的标签,
kubeadm 在节点创建后使用特权客户端手动应用此标签。 kubeadm 在节点创建后使用特权客户端手动应用此标签。
@@ -876,7 +876,7 @@ See the [`kubeadm reset`](/docs/reference/setup-tools/kubeadm/kubeadm-reset/)
reference documentation for more information about this subcommand and its reference documentation for more information about this subcommand and its
options. options.
--> -->
有关此子命令及其选项的更多信息,请参见 [`kubeadm reset`](/zh/docs/reference/setup-tools/kubeadm/kubeadm-reset/) 参考文档。 有关此子命令及其选项的更多信息,请参见 [`kubeadm reset`](/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-reset/) 参考文档。
<!-- discussion --> <!-- discussion -->
@@ -902,15 +902,15 @@ options.
an overview of what is involved. an overview of what is involved.
--> -->
* 使用 [Sonobuoy](https://github.com/heptio/sonobuoy) 验证集群是否正常运行。 * 使用 [Sonobuoy](https://github.com/heptio/sonobuoy) 验证集群是否正常运行。
* <a id="lifecycle"/>有关使用 kubeadm 升级集群的详细信息,请参阅[升级 kubeadm 集群](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)。 * <a id="lifecycle"/>有关使用 kubeadm 升级集群的详细信息,请参阅[升级 kubeadm 集群](/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)。
* 在 [kubeadm 参考文档](/zh/docs/reference/setup-tools/kubeadm/kubeadm)中了解有关 `kubeadm` 进阶用法的信息。 * 在 [kubeadm 参考文档](/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm)中了解有关 `kubeadm` 进阶用法的信息。
* 了解有关 Kubernetes [概念](/zh/docs/concepts/)和 [`kubectl`](/zh/docs/reference/kubectl/)的更多信息。 * 了解有关 Kubernetes [概念](/zh-cn/docs/concepts/)和 [`kubectl`](/zh-cn/docs/reference/kubectl/)的更多信息。
* 有关 Pod 网络附加组件的更多列表,请参见[集群网络](/zh/docs/concepts/cluster-administration/networking/)页面。 * 有关 Pod 网络附加组件的更多列表,请参见[集群网络](/zh-cn/docs/concepts/cluster-administration/networking/)页面。
* <a id="other-addons" />请参阅[附加组件列表](/zh/docs/concepts/cluster-administration/addons/)以探索其他附加组件, * <a id="other-addons" />请参阅[附加组件列表](/zh-cn/docs/concepts/cluster-administration/addons/)以探索其他附加组件,
包括用于 Kubernetes 集群的日志记录,监视,网络策略,可视化和控制的工具。 包括用于 Kubernetes 集群的日志记录,监视,网络策略,可视化和控制的工具。
* 配置集群如何处理集群事件的日志以及 * 配置集群如何处理集群事件的日志以及
在 Pods 中运行的应用程序。 在 Pods 中运行的应用程序。
有关所涉及内容的概述,请参见[日志架构](/zh/docs/concepts/cluster-administration/logging/)。 有关所涉及内容的概述,请参见[日志架构](/zh-cn/docs/concepts/cluster-administration/logging/)。
<!-- <!--
### Feedback {#feedback} ### Feedback {#feedback}
@@ -964,7 +964,7 @@ of kube-apiserver, kube-controller-manager, kube-scheduler and kube-proxy.
--> -->
kubeadm 可以与 Kubernetes 组件一起使用,这些组件的版本与 kubeadm 相同,或者比它大一个版本。 kubeadm 可以与 Kubernetes 组件一起使用,这些组件的版本与 kubeadm 相同,或者比它大一个版本。
Kubernetes 版本可以通过使用 `--kubeadm init``--kubernetes-version` 标志或使用 `--config` 时的 Kubernetes 版本可以通过使用 `--kubeadm init``--kubernetes-version` 标志或使用 `--config` 时的
[`ClusterConfiguration.kubernetesVersion`](/zh/docs/reference/configapi/kubeadm-config.v1beta3/) [`ClusterConfiguration.kubernetesVersion`](/zh-cn/docs/reference/configapi/kubeadm-config.v1beta3/)
字段指定给 kubeadm。 字段指定给 kubeadm。
这个选项将控制 kube-apiserver、kube-controller-manager、kube-scheduler 和 kube-proxy 的版本。 这个选项将控制 kube-apiserver、kube-controller-manager、kube-scheduler 和 kube-proxy 的版本。
@@ -1089,8 +1089,8 @@ Workarounds:
topology that provides [high-availability](/docs/setup/production-environment/tools/kubeadm/high-availability/). topology that provides [high-availability](/docs/setup/production-environment/tools/kubeadm/high-availability/).
--> -->
* 使用多个控制平面节点。你可以阅读 * 使用多个控制平面节点。你可以阅读
[可选的高可用性拓扑](/zh/docs/setup/production-environment/tools/kubeadm/ha-topology/)选择集群拓扑提供的 [可选的高可用性拓扑](/zh-cn/docs/setup/production-environment/tools/kubeadm/ha-topology/)选择集群拓扑提供的
[高可用性](/zh/docs/setup/production-environment/tools/kubeadm/high-availability/)。 [高可用性](/zh-cn/docs/setup/production-environment/tools/kubeadm/high-availability/)。
<!-- <!--
### Platform compatibility {#multi-platform} ### Platform compatibility {#multi-platform}
@@ -1124,4 +1124,4 @@ supports your chosen platform.
<!-- <!--
If you are running into difficulties with kubeadm, please consult our [troubleshooting docs](/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/). If you are running into difficulties with kubeadm, please consult our [troubleshooting docs](/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/).
--> -->
如果你在使用 kubeadm 时遇到困难,请查阅我们的[故障排除文档](/zh/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/)。 如果你在使用 kubeadm 时遇到困难,请查阅我们的[故障排除文档](/zh-cn/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/)。
@@ -19,7 +19,7 @@ min-kubernetes-server-version: 1.21
<!-- <!--
Your Kubernetes cluster includes [dual-stack](/docs/concepts/services-networking/dual-stack/) networking, which means that cluster networking lets you use either address family. In a cluster, the control plane can assign both an IPv4 address and an IPv6 address to a single {{< glossary_tooltip text="Pod" term_id="pod" >}} or a {{< glossary_tooltip text="Service" term_id="service" >}}. Your Kubernetes cluster includes [dual-stack](/docs/concepts/services-networking/dual-stack/) networking, which means that cluster networking lets you use either address family. In a cluster, the control plane can assign both an IPv4 address and an IPv6 address to a single {{< glossary_tooltip text="Pod" term_id="pod" >}} or a {{< glossary_tooltip text="Service" term_id="service" >}}.
--> -->
你的集群包含[双协议栈](/zh/docs/concepts/services-networking/dual-stack/)组网支持, 你的集群包含[双协议栈](/zh-cn/docs/concepts/services-networking/dual-stack/)组网支持,
这意味着集群网络允许你在两种地址族间任选其一。在集群中,控制面可以为同一个 这意味着集群网络允许你在两种地址族间任选其一。在集群中,控制面可以为同一个
{{< glossary_tooltip text="Pod" term_id="pod" >}} 或者 {{< glossary_tooltip text="Service" term_id="service" >}} {{< glossary_tooltip text="Pod" term_id="pod" >}} 或者 {{< glossary_tooltip text="Service" term_id="service" >}}
同时赋予 IPv4 和 IPv6 地址。 同时赋予 IPv4 和 IPv6 地址。
@@ -31,7 +31,7 @@ Your Kubernetes cluster includes [dual-stack](/docs/concepts/services-networking
<!-- <!--
You need to have installed the {{< glossary_tooltip text="kubeadm" term_id="kubeadm" >}} tool, following the steps from [Installing kubeadm](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/). You need to have installed the {{< glossary_tooltip text="kubeadm" term_id="kubeadm" >}} tool, following the steps from [Installing kubeadm](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/).
--> -->
你需要已经遵从[安装 kubeadm](/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/) 你需要已经遵从[安装 kubeadm](/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)
中所给的步骤安装了 {{< glossary_tooltip text="kubeadm" term_id="kubeadm" >}} 工具。 中所给的步骤安装了 {{< glossary_tooltip text="kubeadm" term_id="kubeadm" >}} 工具。
<!-- <!--
@@ -86,7 +86,7 @@ To make things clearer, here is an example kubeadm
`kubeadm-config.yaml` for the primary dual-stack control plane node. `kubeadm-config.yaml` for the primary dual-stack control plane node.
--> -->
为了更便于理解,参看下面的名为 `kubeadm-config.yaml` 的 kubeadm 为了更便于理解,参看下面的名为 `kubeadm-config.yaml` 的 kubeadm
[配置文件](/zh/docs/reference/config-api/kubeadm-config.v1beta3/) [配置文件](/zh-cn/docs/reference/config-api/kubeadm-config.v1beta3/)
该文件用于双协议栈控制面的主控制节点。 该文件用于双协议栈控制面的主控制节点。
```yaml ```yaml
@@ -126,7 +126,7 @@ kubeadm init --config=kubeadm-config.yaml
The kube-controller-manager flags `--node-cidr-mask-size-ipv4|--node-cidr-mask-size-ipv6` are set with default values. See [configure IPv4/IPv6 dual stack](/docs/concepts/services-networking/dual-stack#configure-ipv4-ipv6-dual-stack). The kube-controller-manager flags `--node-cidr-mask-size-ipv4|--node-cidr-mask-size-ipv6` are set with default values. See [configure IPv4/IPv6 dual stack](/docs/concepts/services-networking/dual-stack#configure-ipv4-ipv6-dual-stack).
--> -->
kube-controller-manager 标志 `--node-cidr-mask-size-ipv4|--node-cidr-mask-size-ipv6` kube-controller-manager 标志 `--node-cidr-mask-size-ipv4|--node-cidr-mask-size-ipv6`
是使用默认值来设置的。参见[配置 IPv4/IPv6 双协议栈](/zh/docs/concepts/services-networking/dual-stack#configure-ipv4-ipv6-dual-stack)。 是使用默认值来设置的。参见[配置 IPv4/IPv6 双协议栈](/zh-cn/docs/concepts/services-networking/dual-stack#configure-ipv4-ipv6-dual-stack)。
{{< note >}} {{< note >}}
<!-- <!--
@@ -148,7 +148,7 @@ Here is an example kubeadm [configuration file](/docs/reference/config-api/kubea
在添加节点之前,请确保该节点具有 IPv6 可路由的网络接口并且启用了 IPv6 转发。 在添加节点之前,请确保该节点具有 IPv6 可路由的网络接口并且启用了 IPv6 转发。
下面的名为 `kubeadm-config.yaml` 的 kubeadm 下面的名为 `kubeadm-config.yaml` 的 kubeadm
[配置文件](/zh/docs/reference/config-api/kubeadm-config.v1beta3/) [配置文件](/zh-cn/docs/reference/config-api/kubeadm-config.v1beta3/)
示例用于向集群中添加工作节点。 示例用于向集群中添加工作节点。
```yaml ```yaml
@@ -171,7 +171,7 @@ Also, here is an example kubeadm [configuration file](/docs/reference/config-api
`kubeadm-config.yaml` for joining another control plane node to the cluster. `kubeadm-config.yaml` for joining another control plane node to the cluster.
--> -->
下面的名为 `kubeadm-config.yaml` 的 kubeadm 下面的名为 `kubeadm-config.yaml` 的 kubeadm
[配置文件](/zh/docs/reference/config-api/kubeadm-config.v1beta3/) [配置文件](/zh-cn/docs/reference/config-api/kubeadm-config.v1beta3/)
示例用于向集群中添加另一个控制面节点。 示例用于向集群中添加另一个控制面节点。
```yaml ```yaml
@@ -224,7 +224,7 @@ To make things more clear, here is an example kubeadm
`kubeadm-config.yaml` for the single-stack control plane node. `kubeadm-config.yaml` for the single-stack control plane node.
--> -->
为了更便于理解,参看下面的名为 `kubeadm-config.yaml` 的 kubeadm 为了更便于理解,参看下面的名为 `kubeadm-config.yaml` 的 kubeadm
[配置文件](/zh/docs/reference/config-api/kubeadm-config.v1beta3/)示例, [配置文件](/zh-cn/docs/reference/config-api/kubeadm-config.v1beta3/)示例,
该文件用于单协议栈控制面节点。 该文件用于单协议栈控制面节点。
```yaml ```yaml
@@ -242,7 +242,7 @@ networking:
* Read about [Dual-stack](/docs/concepts/services-networking/dual-stack/) cluster networking * Read about [Dual-stack](/docs/concepts/services-networking/dual-stack/) cluster networking
* Learn more about the kubeadm [configuration format](/docs/reference/config-api/kubeadm-config.v1beta3/) * Learn more about the kubeadm [configuration format](/docs/reference/config-api/kubeadm-config.v1beta3/)
--> -->
* [验证 IPv4/IPv6 双协议栈](/zh/docs/tasks/network/validate-dual-stack)联网 * [验证 IPv4/IPv6 双协议栈](/zh-cn/docs/tasks/network/validate-dual-stack)联网
* 阅读[双协议栈](/zh/docs/concepts/services-networking/dual-stack/)集群网络 * 阅读[双协议栈](/zh-cn/docs/concepts/services-networking/dual-stack/)集群网络
* 进一步了解 kubeadm [配置格式](/docs/reference/config-api/kubeadm-config.v1beta3/) * 进一步了解 kubeadm [配置格式](/docs/reference/config-api/kubeadm-config.v1beta3/)
@@ -154,6 +154,6 @@ A minimum of three hosts for control plane nodes and three hosts for etcd nodes
<!-- <!--
- [Set up a highly available cluster with kubeadm](/docs/setup/production-environment/tools/kubeadm/high-availability/) - [Set up a highly available cluster with kubeadm](/docs/setup/production-environment/tools/kubeadm/high-availability/)
--> -->
- [使用 kubeadm 设置高可用集群](/zh/docs/setup/production-environment/tools/kubeadm/high-availability/) - [使用 kubeadm 设置高可用集群](/zh-cn/docs/setup/production-environment/tools/kubeadm/high-availability/)
@@ -39,11 +39,11 @@ in the kubeadm [issue tracker](https://github.com/kubernetes/kubeadm/issues/new)
See also the [upgrade documentation](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-15). See also the [upgrade documentation](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-15).
--> -->
在下一步之前,你应该仔细考虑哪种方法更好的满足你的应用程序和环境的需求。 在下一步之前,你应该仔细考虑哪种方法更好的满足你的应用程序和环境的需求。
[高可用拓扑选项](/zh/docs/setup/production-environment/tools/kubeadm/ha-topology/) 讲述了每种方法的优缺点。 [高可用拓扑选项](/zh-cn/docs/setup/production-environment/tools/kubeadm/ha-topology/) 讲述了每种方法的优缺点。
如果你在安装 HA 集群时遇到问题,请在 kubeadm [问题跟踪](https://github.com/kubernetes/kubeadm/issues/new)里向我们提供反馈。 如果你在安装 HA 集群时遇到问题,请在 kubeadm [问题跟踪](https://github.com/kubernetes/kubeadm/issues/new)里向我们提供反馈。
你也可以阅读[升级文档](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/) 你也可以阅读[升级文档](/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)
<!-- <!--
This page does not address running your cluster on a cloud provider. In a cloud This page does not address running your cluster on a cloud provider. In a cloud
environment, neither approach documented here works with Service objects of type environment, neither approach documented here works with Service objects of type
@@ -91,10 +91,10 @@ _See [Stacked etcd topology](/docs/setup/production-environment/tools/kubeadm/ha
--> -->
需要准备: 需要准备:
- 配置满足 [kubeadm 的最低要求](/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#准备开始) - 配置满足 [kubeadm 的最低要求](/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#准备开始)
的三台机器作为控制面节点。奇数台控制平面节点有利于机器故障或者网络分区时进行重新选主。 的三台机器作为控制面节点。奇数台控制平面节点有利于机器故障或者网络分区时进行重新选主。
- 机器已经安装好{{< glossary_tooltip text="容器运行时" term_id="container-runtime" >}},并正常运行 - 机器已经安装好{{< glossary_tooltip text="容器运行时" term_id="container-runtime" >}},并正常运行
- 配置满足 [kubeadm 的最低要求](/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#准备开始) - 配置满足 [kubeadm 的最低要求](/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#准备开始)
的三台机器作为工作节点 的三台机器作为工作节点
- 机器已经安装好{{< glossary_tooltip text="容器运行时" term_id="container-runtime" >}},并正常运行 - 机器已经安装好{{< glossary_tooltip text="容器运行时" term_id="container-runtime" >}},并正常运行
- 在集群中,确保所有计算机之间存在全网络连接(公网或私网) - 在集群中,确保所有计算机之间存在全网络连接(公网或私网)
@@ -103,7 +103,7 @@ _See [Stacked etcd topology](/docs/setup/production-environment/tools/kubeadm/ha
- 从某台设备通过 SSH 访问系统中所有节点的能力 - 从某台设备通过 SSH 访问系统中所有节点的能力
- 所有机器上已经安装 `kubeadm``kubelet` - 所有机器上已经安装 `kubeadm``kubelet`
_拓扑详情请参考[堆叠(Stackedetcd 拓扑](/zh/docs/setup/production-environment/tools/kubeadm/ha-topology/#堆叠-stacked-etcd-拓扑)。_ _拓扑详情请参考[堆叠(Stackedetcd 拓扑](/zh-cn/docs/setup/production-environment/tools/kubeadm/ha-topology/#堆叠-stacked-etcd-拓扑)。_
{{% /tab %}} {{% /tab %}}
{{% tab name="外部 etcd 拓扑" %}} {{% tab name="外部 etcd 拓扑" %}}
<!-- <!--
@@ -129,10 +129,10 @@ You need:
--> -->
需要准备: 需要准备:
- 配置满足 [kubeadm 的最低要求](/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#准备开始) - 配置满足 [kubeadm 的最低要求](/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#准备开始)
的三台机器作为控制面节点。奇数台控制平面节点有利于机器故障或者网络分区时进行重新选主。 的三台机器作为控制面节点。奇数台控制平面节点有利于机器故障或者网络分区时进行重新选主。
- 机器已经安装好{{< glossary_tooltip text="容器运行时" term_id="container-runtime" >}},并正常运行 - 机器已经安装好{{< glossary_tooltip text="容器运行时" term_id="container-runtime" >}},并正常运行
- 配置满足 [kubeadm 的最低要求](/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#准备开始) - 配置满足 [kubeadm 的最低要求](/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#准备开始)
的三台机器作为工作节点 的三台机器作为工作节点
- 机器已经安装好{{< glossary_tooltip text="容器运行时" term_id="container-runtime" >}},并正常运行 - 机器已经安装好{{< glossary_tooltip text="容器运行时" term_id="container-runtime" >}},并正常运行
- 在集群中,确保所有计算机之间存在全网络连接(公网或私网) - 在集群中,确保所有计算机之间存在全网络连接(公网或私网)
@@ -156,7 +156,7 @@ And you also need:
<!-- <!--
_See [External etcd topology](/docs/setup/production-environment/tools/kubeadm/ha-topology/#external-etcd-topology) for context._ _See [External etcd topology](/docs/setup/production-environment/tools/kubeadm/ha-topology/#external-etcd-topology) for context._
--> -->
_拓扑详情请参考[外部 etcd 拓扑](/zh/docs/setup/production-environment/tools/kubeadm/ha-topology/#外部-etcd-拓扑)。_ _拓扑详情请参考[外部 etcd 拓扑](/zh-cn/docs/setup/production-environment/tools/kubeadm/ha-topology/#外部-etcd-拓扑)。_
{{% /tab %}} {{% /tab %}}
{{< /tabs >}} {{< /tabs >}}
@@ -179,7 +179,7 @@ To manage Kubernetes once your cluster is set up, you should
to install the `kubectl` tool on each control plane node, as this can be to install the `kubectl` tool on each control plane node, as this can be
helpful for troubleshooting. helpful for troubleshooting.
--> -->
一旦集群创建成功,需要在 PC 上[安装 kubectl](/zh/docs/tasks/tools/#kubectl) 用于管理 Kubernetes。为了方便故障排查,也可以在每个控制平面节点上安装 `kubectl` 一旦集群创建成功,需要在 PC 上[安装 kubectl](/zh-cn/docs/tasks/tools/#kubectl) 用于管理 Kubernetes。为了方便故障排查,也可以在每个控制平面节点上安装 `kubectl`
<!-- steps --> <!-- steps -->
@@ -322,7 +322,7 @@ option. Your cluster requirements may need a different configuration.
--> -->
{{< note >}} {{< note >}}
一些 CNI 网络插件如 Calico 需要 CIDR 例如 `192.168.0.0/16` 和一些像 Weave 没有。参考 一些 CNI 网络插件如 Calico 需要 CIDR 例如 `192.168.0.0/16` 和一些像 Weave 没有。参考
[CNI 网络文档](/zh/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network)。 [CNI 网络文档](/zh-cn/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network)。
通过传递 `--pod-network-cidr` 标志添加 pod CIDR,或者你可以使用 kubeadm 通过传递 `--pod-network-cidr` 标志添加 pod CIDR,或者你可以使用 kubeadm
配置文件,在 `ClusterConfiguration``networking` 对象下设置 `podSubnet` 字段。 配置文件,在 `ClusterConfiguration``networking` 对象下设置 `podSubnet` 字段。
{{< /note >}} {{< /note >}}
@@ -387,7 +387,7 @@ option. Your cluster requirements may need a different configuration.
[Follow these instructions](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network) to install the CNI provider. Make sure the configuration corresponds to the Pod CIDR specified in the kubeadm configuration file (if applicable). [Follow these instructions](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network) to install the CNI provider. Make sure the configuration corresponds to the Pod CIDR specified in the kubeadm configuration file (if applicable).
--> -->
2. 应用你所选择的 CNI 插件: 2. 应用你所选择的 CNI 插件:
[请遵循以下指示](/zh/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network) [请遵循以下指示](/zh-cn/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#pod-network)
安装 CNI 驱动。如果适用,请确保配置与 kubeadm 配置文件中指定的 Pod 安装 CNI 驱动。如果适用,请确保配置与 kubeadm 配置文件中指定的 Pod
CIDR 相对应。 CIDR 相对应。
<!-- <!--
@@ -484,7 +484,7 @@ in the kubeadm config file.
--> -->
### 设置 ectd 集群 ### 设置 ectd 集群
1. 按照[这些指示](/zh/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/) 1. 按照[这些指示](/zh-cn/docs/setup/production-environment/tools/kubeadm/setup-ha-etcd-with-kubeadm/)
去设置 etcd 集群。 去设置 etcd 集群。
1. 根据[这里](#manual-certs) 的描述配置 SSH。 1. 根据[这里](#manual-certs) 的描述配置 SSH。
@@ -25,7 +25,7 @@ For information on how to create a cluster with kubeadm once you have performed
--> -->
<img src="/images/kubeadm-stacked-color.png" align="right" width="150px">本页面显示如何安装 `kubeadm` 工具箱。 <img src="/images/kubeadm-stacked-color.png" align="right" width="150px">本页面显示如何安装 `kubeadm` 工具箱。
有关在执行此安装过程后如何使用 kubeadm 创建集群的信息,请参见 有关在执行此安装过程后如何使用 kubeadm 创建集群的信息,请参见
[使用 kubeadm 创建集群](/zh/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) 页面。 [使用 kubeadm 创建集群](/zh-cn/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) 页面。
## {{% heading "prerequisites" %}} ## {{% heading "prerequisites" %}}
@@ -110,7 +110,7 @@ sudo sysctl --system
<!-- <!--
For more details please see the [Network Plugin Requirements](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#network-plugin-requirements) page. For more details please see the [Network Plugin Requirements](/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#network-plugin-requirements) page.
--> -->
更多的相关细节可查看[网络插件需求](/zh/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#network-plugin-requirements)页面。 更多的相关细节可查看[网络插件需求](/zh-cn/docs/concepts/extend-kubernetes/compute-storage-net/network-plugins/#network-plugin-requirements)页面。
<!-- <!--
## Check required ports ## Check required ports
@@ -121,7 +121,7 @@ need to be open in order for Kubernetes components to communicate with each othe
## 检查所需端口{#check-required-ports} ## 检查所需端口{#check-required-ports}
启用这些[必要的端口](/zh/docs/reference/ports-and-protocols/)后才能使 Kubernetes 的各组件相互通信。可以使用 netcat 之类的工具来检查端口是否启用,例如: 启用这些[必要的端口](/zh-cn/docs/reference/ports-and-protocols/)后才能使 Kubernetes 的各组件相互通信。可以使用 netcat 之类的工具来检查端口是否启用,例如:
```shell ```shell
nc 127.0.0.1 6443 nc 127.0.0.1 6443
@@ -169,7 +169,7 @@ for more information.
--> -->
如果检测到有多个或者没有容器运行时,kubeadm 将抛出一个错误并要求你指定一个想要使用的运行时。 如果检测到有多个或者没有容器运行时,kubeadm 将抛出一个错误并要求你指定一个想要使用的运行时。
参阅[容器运行时](/zh/docs/setup/production-environment/container-runtimes/) 参阅[容器运行时](/zh-cn/docs/setup/production-environment/container-runtimes/)
以了解更多信息。 以了解更多信息。
<!-- <!--
@@ -182,9 +182,9 @@ Docker Engine support that was [removed](/dockershim) from the kubelet in versio
--> -->
{{< note >}} {{< note >}}
Docker Engine 没有实现 [CRI](/zh/docs/concepts/architecture/cri/),而这是容器运行时在 Kubernetes 中工作所需要的。 Docker Engine 没有实现 [CRI](/zh-cn/docs/concepts/architecture/cri/),而这是容器运行时在 Kubernetes 中工作所需要的。
为此,必须安装一个额外的服务 [cri-dockerd](https://github.com/Mirantis/cri-dockerd)。 为此,必须安装一个额外的服务 [cri-dockerd](https://github.com/Mirantis/cri-dockerd)。
cri-dockerd 是一个基于传统的内置Docker引擎支持的项目,它在 1.24 版本从 kubelet 中[移除](/zh/dockershim)。 cri-dockerd 是一个基于传统的内置Docker引擎支持的项目,它在 1.24 版本从 kubelet 中[移除](/zh-cn/dockershim)。
{{< /note >}} {{< /note >}}
<!-- <!--
@@ -273,7 +273,7 @@ kubeadm **不能** 帮你安装或者管理 `kubelet` 或 `kubectl`,所以你
的版本不可以超过 API 服务器的版本。 的版本不可以超过 API 服务器的版本。
例如,1.7.0 版本的 kubelet 可以完全兼容 1.8.0 版本的 API 服务器,反之则不可以。 例如,1.7.0 版本的 kubelet 可以完全兼容 1.8.0 版本的 API 服务器,反之则不可以。
有关安装 `kubectl` 的信息,请参阅[安装和设置 kubectl](/zh/docs/tasks/tools/)文档。 有关安装 `kubectl` 的信息,请参阅[安装和设置 kubectl](/zh-cn/docs/tasks/tools/)文档。
{{< warning >}} {{< warning >}}
<!-- <!--
@@ -282,7 +282,7 @@ This is because kubeadm and Kubernetes require
[special attention to upgrade](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-14/). [special attention to upgrade](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-14/).
--> -->
这些指南不包括系统升级时使用的所有 Kubernetes 程序包。这是因为 kubeadm 和 Kubernetes 这些指南不包括系统升级时使用的所有 Kubernetes 程序包。这是因为 kubeadm 和 Kubernetes
有[特殊的升级注意事项](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)。 有[特殊的升级注意事项](/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)。
{{</ warning >}} {{</ warning >}}
<!-- <!--
@@ -293,8 +293,8 @@ For more information on version skews, see:
--> -->
关于版本偏差的更多信息,请参阅以下文档: 关于版本偏差的更多信息,请参阅以下文档:
* Kubernetes [版本与版本间的偏差策略](/zh/docs/setup/release/version-skew-policy/) * Kubernetes [版本与版本间的偏差策略](/zh-cn/docs/setup/release/version-skew-policy/)
* Kubeadm 特定的[版本偏差策略](/zh/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#version-skew-policy) * Kubeadm 特定的[版本偏差策略](/zh-cn/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/#version-skew-policy)
{{< tabs name="k8s_install" >}} {{< tabs name="k8s_install" >}}
{{% tab name="基于 Debian 的发行版" %}} {{% tab name="基于 Debian 的发行版" %}}
@@ -468,7 +468,7 @@ See the [Kubeadm Troubleshooting guide](/docs/setup/production-environment/tools
--> -->
Flatcar Container Linux 发行版会将 `/usr/` 目录挂载为一个只读文件系统。 Flatcar Container Linux 发行版会将 `/usr/` 目录挂载为一个只读文件系统。
在启动引导你的集群之前,你需要执行一些额外的操作来配置一个可写入的目录。 在启动引导你的集群之前,你需要执行一些额外的操作来配置一个可写入的目录。
参见 [kubeadm 故障排查指南](/zh/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/#usr-mounted-read-only/) 参见 [kubeadm 故障排查指南](/zh-cn/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/#usr-mounted-read-only/)
以了解如何配置一个可写入的目录。 以了解如何配置一个可写入的目录。
{{< /note >}} {{< /note >}}
@@ -491,7 +491,7 @@ for the management of cgroups on Linux machines.
## 配置 cgroup 驱动程序 {#configure-cgroup-driver} ## 配置 cgroup 驱动程序 {#configure-cgroup-driver}
容器运行时和 kubelet 都具有名字为 容器运行时和 kubelet 都具有名字为
["cgroup driver"](/zh/docs/setup/production-environment/container-runtimes/) ["cgroup driver"](/zh-cn/docs/setup/production-environment/container-runtimes/)
的属性,该属性对于在 Linux 机器上管理 CGroups 而言非常重要。 的属性,该属性对于在 Linux 机器上管理 CGroups 而言非常重要。
{{< warning >}} {{< warning >}}
@@ -503,7 +503,7 @@ See [Configuring a cgroup driver](/docs/tasks/administer-cluster/kubeadm/configu
你需要确保容器运行时和 kubelet 所使用的是相同的 cgroup 驱动,否则 kubelet 你需要确保容器运行时和 kubelet 所使用的是相同的 cgroup 驱动,否则 kubelet
进程会失败。 进程会失败。
相关细节可参见[配置 cgroup 驱动](/zh/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/)。 相关细节可参见[配置 cgroup 驱动](/zh-cn/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/)。
{{< /warning >}} {{< /warning >}}
<!-- <!--
@@ -514,11 +514,11 @@ If you are running into difficulties with kubeadm, please consult our [troublesh
## 故障排查 {#troubleshooting} ## 故障排查 {#troubleshooting}
如果你在使用 kubeadm 时遇到困难,请参阅我们的 如果你在使用 kubeadm 时遇到困难,请参阅我们的
[故障排查文档](/zh/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/)。 [故障排查文档](/zh-cn/docs/setup/production-environment/tools/kubeadm/troubleshooting-kubeadm/)。
## {{% heading "whatsnext" %}} ## {{% heading "whatsnext" %}}
<!-- <!--
* [Using kubeadm to Create a Cluster](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) * [Using kubeadm to Create a Cluster](/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/)
--> -->
* [使用 kubeadm 创建集群](/zh/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/) * [使用 kubeadm 创建集群](/zh-cn/docs/setup/production-environment/tools/kubeadm/create-cluster-kubeadm/)
@@ -34,7 +34,7 @@ characteristics of a given machine (such as OS, storage, and networking). You ca
of your kubelets manually, but kubeadm now provides a `KubeletConfiguration` API type for of your kubelets manually, but kubeadm now provides a `KubeletConfiguration` API type for
[managing your kubelet configurations centrally](#configure-kubelets-using-kubeadm). [managing your kubelet configurations centrally](#configure-kubelets-using-kubeadm).
--> -->
kubeadm CLI 工具的生命周期与 [kubelet](/zh/docs/reference/command-line-tools-reference/kubelet) kubeadm CLI 工具的生命周期与 [kubelet](/zh-cn/docs/reference/command-line-tools-reference/kubelet)
解耦;kubelet 是一个守护程序,在 Kubernetes 集群中的每个节点上运行。 解耦;kubelet 是一个守护程序,在 Kubernetes 集群中的每个节点上运行。
当 Kubernetes 初始化或升级时,kubeadm CLI 工具由用户执行,而 kubelet 始终在后台运行。 当 Kubernetes 初始化或升级时,kubeadm CLI 工具由用户执行,而 kubelet 始终在后台运行。
@@ -96,7 +96,7 @@ a list of values to a camelCased key, illustrated by the following example:
你还需要通过 kubelet 使用 `--cluster-dns` 标志设置 DNS 地址。 你还需要通过 kubelet 使用 `--cluster-dns` 标志设置 DNS 地址。
在集群中的每个管理器和节点上的 kubelet 的设置需要相同。 在集群中的每个管理器和节点上的 kubelet 的设置需要相同。
kubelet 提供了一个版本化的结构化 API 对象,该对象可以配置 kubelet 中的大多数参数,并将此配置推送到集群中正在运行的每个 kubelet 上。 kubelet 提供了一个版本化的结构化 API 对象,该对象可以配置 kubelet 中的大多数参数,并将此配置推送到集群中正在运行的每个 kubelet 上。
此对象被称为 [`KubeletConfiguration`](/zh/docs/reference/config-api/kubelet-config.v1beta1/)。 此对象被称为 [`KubeletConfiguration`](/zh-cn/docs/reference/config-api/kubelet-config.v1beta1/)。
`KubeletConfiguration` 允许用户指定标志,例如用骆峰值代表集群的 DNS IP 地址,如下所示: `KubeletConfiguration` 允许用户指定标志,例如用骆峰值代表集群的 DNS IP 地址,如下所示:
```yaml ```yaml
@@ -176,7 +176,7 @@ for more information on the individual fields.
通过调用 `kubeadm config print init-defaults --component-configs KubeletConfiguration` 通过调用 `kubeadm config print init-defaults --component-configs KubeletConfiguration`
你可以看到此结构中的所有默认值。 你可以看到此结构中的所有默认值。
也可以阅读 [KubeletConfiguration 参考](/zh/docs/reference/config-api/kubelet-config.v1beta1/) 也可以阅读 [KubeletConfiguration 参考](/zh-cn/docs/reference/config-api/kubelet-config.v1beta1/)
来获取有关各个字段的更多信息。 来获取有关各个字段的更多信息。
<!-- <!--
@@ -312,7 +312,7 @@ section.
--> -->
{{< note >}} {{< note >}}
下面的内容只是一个例子。如果你不想使用包管理器, 下面的内容只是一个例子。如果你不想使用包管理器,
请遵循[没有包管理器](/zh/docs/setup/productionenvironment/tools/kubeadm/install-kubeadm/#k8s-install-2)) 请遵循[没有包管理器](/zh-cn/docs/setup/productionenvironment/tools/kubeadm/install-kubeadm/#k8s-install-2))
章节的指南。 章节的指南。
{{< /note >}} {{< /note >}}
@@ -34,7 +34,7 @@ etcd instances on separate hosts. The differences between the two approaches are
--> -->
默认情况下,kubeadm 在每个控制平面节点上运行一个本地 etcd 实例。也可以使用外部的 etcd 集群,并在不同的主机上提供 etcd 实例。 默认情况下,kubeadm 在每个控制平面节点上运行一个本地 etcd 实例。也可以使用外部的 etcd 集群,并在不同的主机上提供 etcd 实例。
这两种方法的区别在 [高可用拓扑的选项](/zh/docs/setup/production-environment/tools/kubeadm/ha-topology) 页面中阐述。 这两种方法的区别在 [高可用拓扑的选项](/zh-cn/docs/setup/production-environment/tools/kubeadm/ha-topology) 页面中阐述。
<!-- <!--
This task walks through the process of creating a high availability external This task walks through the process of creating a high availability external
@@ -55,7 +55,7 @@ etcd cluster of three members that can be used by kubeadm during cluster creatio
* Each host must [have a container runtime, kubelet, and kubeadm installed](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/). * Each host must [have a container runtime, kubelet, and kubeadm installed](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/).
--> -->
* 每个主机必须安装 systemd 和 bash 兼容的 shell。 * 每个主机必须安装 systemd 和 bash 兼容的 shell。
* 每台主机必须[安装有容器运行时、kubelet 和 kubeadm](/zh/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)。 * 每台主机必须[安装有容器运行时、kubelet 和 kubeadm](/zh-cn/docs/setup/production-environment/tools/kubeadm/install-kubeadm/)。
<!-- <!--
* Some infrastructure to copy files between hosts. For example `ssh` and `scp` can satisfy this requirement. * Some infrastructure to copy files between hosts. For example `ssh` and `scp` can satisfy this requirement.
@@ -91,7 +91,7 @@ on Kubernetes dual-stack support see [Dual-stack support with kubeadm](/docs/set
{{< note >}} {{< note >}}
下面的例子使用 IPv4 地址,但是你也可以使用 IPv6 地址配置 kubeadm、kubelet 和 etcd。一些 Kubernetes 选项支持双协议栈,但是 etcd 不支持。 下面的例子使用 IPv4 地址,但是你也可以使用 IPv6 地址配置 kubeadm、kubelet 和 etcd。一些 Kubernetes 选项支持双协议栈,但是 etcd 不支持。
关于 Kubernetes 双协议栈支持的更多细节,请参见 [kubeadm 的双栈支持](/zh/docs/setup/production-environment/tools/kubeadm/dual-stack-support/)。 关于 Kubernetes 双协议栈支持的更多细节,请参见 [kubeadm 的双栈支持](/zh-cn/docs/setup/production-environment/tools/kubeadm/dual-stack-support/)。
{{< /note >}} {{< /note >}}
<!-- <!--
@@ -400,5 +400,5 @@ highly available control plane using the [external etcd method with
kubeadm](/docs/setup/independent/high-availability/). kubeadm](/docs/setup/independent/high-availability/).
--> -->
一旦拥有了一个正常工作的 3 成员的 etcd 集群,你就可以基于 一旦拥有了一个正常工作的 3 成员的 etcd 集群,你就可以基于
[使用 kubeadm 外部 etcd 的方法](/zh/docs/setup/production-environment/tools/kubeadm/high-availability/) [使用 kubeadm 外部 etcd 的方法](/zh-cn/docs/setup/production-environment/tools/kubeadm/high-availability/)
继续部署一个高可用的控制平面。 继续部署一个高可用的控制平面。
@@ -162,9 +162,9 @@ and investigating each container by running `docker logs`. For other container r
- 网络连接问题。在继续之前,请检查你的计算机是否具有全部联通的网络连接。 - 网络连接问题。在继续之前,请检查你的计算机是否具有全部联通的网络连接。
- 容器运行时的 cgroup 驱动不同于 kubelet 使用的 cgroup 驱动。要了解如何正确配置 cgroup 驱动, - 容器运行时的 cgroup 驱动不同于 kubelet 使用的 cgroup 驱动。要了解如何正确配置 cgroup 驱动,
请参阅[配置 cgroup 驱动](/zh/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/)。 请参阅[配置 cgroup 驱动](/zh-cn/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/)。
- 控制平面上的 Docker 容器持续进入崩溃状态或(因其他原因)挂起。你可以运行 `docker ps` 命令来检查以及 `docker logs` 命令来检视每个容器的运行日志。 - 控制平面上的 Docker 容器持续进入崩溃状态或(因其他原因)挂起。你可以运行 `docker ps` 命令来检查以及 `docker logs` 命令来检视每个容器的运行日志。
对于其他容器运行时,请参阅[使用 crictl 对 Kubernetes 节点进行调试](/zh/docs/tasks/debug/debug-cluster/crictl/)。 对于其他容器运行时,请参阅[使用 crictl 对 Kubernetes 节点进行调试](/zh-cn/docs/tasks/debug/debug-cluster/crictl/)。
<!-- <!--
## kubeadm blocks when removing managed containers ## kubeadm blocks when removing managed containers
@@ -206,7 +206,7 @@ sudo kubeadm reset
一个可行的解决方案是重新启动 Docker 服务,然后重新运行 `kubeadm reset` 一个可行的解决方案是重新启动 Docker 服务,然后重新运行 `kubeadm reset`
你也可以使用 `crictl` 来调试容器运行时的状态。 你也可以使用 `crictl` 来调试容器运行时的状态。
参见[使用 CRICTL 调试 Kubernetes 节点](/zh/docs/tasks/debug/debug-cluster/crictl/)。 参见[使用 CRICTL 调试 Kubernetes 节点](/zh-cn/docs/tasks/debug/debug-cluster/crictl/)。
<!-- <!--
## Pods in `RunContainerError`, `CrashLoopBackOff` or `Error` state ## Pods in `RunContainerError`, `CrashLoopBackOff` or `Error` state
@@ -254,7 +254,7 @@ before CoreDNS may be deployed fully. Hence the `Pending` state before the netwo
这一行为是 **预期之中** 的,因为系统就是这么设计的。 这一行为是 **预期之中** 的,因为系统就是这么设计的。
kubeadm 的网络供应商是中立的,因此管理员应该选择 kubeadm 的网络供应商是中立的,因此管理员应该选择
[安装 pod 的网络插件](/zh/docs/concepts/cluster-administration/addons/)。 [安装 pod 的网络插件](/zh-cn/docs/concepts/cluster-administration/addons/)。
你必须完成 Pod 的网络配置,然后才能完全部署 CoreDNS。 你必须完成 Pod 的网络配置,然后才能完全部署 CoreDNS。
在网络被配置好之前,DNS 组件会一直处于 `Pending` 状态。 在网络被配置好之前,DNS 组件会一直处于 `Pending` 状态。
@@ -282,7 +282,7 @@ services](/docs/concepts/services-networking/service/#type-nodeport) or use `Hos
有关更多信息,请参考 [CNI portmap 文档](https://github.com/containernetworking/plugins/blob/master/plugins/meta/portmap/README.md). 有关更多信息,请参考 [CNI portmap 文档](https://github.com/containernetworking/plugins/blob/master/plugins/meta/portmap/README.md).
如果你的网络提供商不支持 portmap CNI 插件,你或许需要使用 如果你的网络提供商不支持 portmap CNI 插件,你或许需要使用
[NodePort 服务的功能](/zh/docs/concepts/services-networking/service/#type-nodeport) [NodePort 服务的功能](/zh-cn/docs/concepts/services-networking/service/#type-nodeport)
或者使用 `HostNetwork=true` 或者使用 `HostNetwork=true`
<!-- <!--
@@ -301,7 +301,7 @@ services](/docs/concepts/services-networking/service/#type-nodeport) or use `Hos
--> -->
## 无法通过其服务 IP 访问 Pod ## 无法通过其服务 IP 访问 Pod
- 许多网络附加组件尚未启用 [hairpin 模式](/zh/docs/tasks/debug/debug-application/debug-service/#a-pod-fails-to-reach-itself-via-the-service-ip) - 许多网络附加组件尚未启用 [hairpin 模式](/zh-cn/docs/tasks/debug/debug-application/debug-service/#a-pod-fails-to-reach-itself-via-the-service-ip)
该模式允许 Pod 通过其服务 IP 进行访问。这是与 [CNI](https://github.com/containernetworking/cni/issues/476) 有关的问题。 该模式允许 Pod 通过其服务 IP 进行访问。这是与 [CNI](https://github.com/containernetworking/cni/issues/476) 有关的问题。
请与网络附加组件提供商联系,以获取他们所提供的 hairpin 模式的最新状态。 请与网络附加组件提供商联系,以获取他们所提供的 hairpin 模式的最新状态。
@@ -517,7 +517,7 @@ Error from server: Get https://10.19.0.41:10250/containerLogs/default/mysql-ddc6
解决方法是通知 `kubelet` 使用哪个 `--node-ip`。当使用 DigitalOcean 时,可以是公网IP(分配给 `eth0` 的), 解决方法是通知 `kubelet` 使用哪个 `--node-ip`。当使用 DigitalOcean 时,可以是公网IP(分配给 `eth0` 的),
或者是私网IP(分配给 `eth1` 的)。私网 IP 是可选的。 或者是私网IP(分配给 `eth1` 的)。私网 IP 是可选的。
[kubadm `NodeRegistrationOptions` 结构](/zh/docs/reference/config-api/kubeadm-config.v1beta3/#kubeadm-k8s-io-v1beta3-NodeRegistrationOptions) [kubadm `NodeRegistrationOptions` 结构](/zh-cn/docs/reference/config-api/kubeadm-config.v1beta3/#kubeadm-k8s-io-v1beta3-NodeRegistrationOptions)
`KubeletExtraArgs` 部分被用来处理这种情况。 `KubeletExtraArgs` 部分被用来处理这种情况。
然后重启 `kubelet` 然后重启 `kubelet`
@@ -552,7 +552,7 @@ are available to avoid Kubernetes trying to restart the CoreDNS Pod every time C
如果有些节点运行的是旧版本的 Docker,同时启用了 SELinux,你或许会遇到 `coredns` pods 无法启动的情况。 如果有些节点运行的是旧版本的 Docker,同时启用了 SELinux,你或许会遇到 `coredns` pods 无法启动的情况。
要解决此问题,你可以尝试以下选项之一: 要解决此问题,你可以尝试以下选项之一:
- 升级到 [Docker 的较新版本](/zh/docs/setup/production-environment/container-runtimes/#docker)。 - 升级到 [Docker 的较新版本](/zh-cn/docs/setup/production-environment/container-runtimes/#docker)。
- [禁用 SELinux](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security-enhanced_linux/sect-security-enhanced_linux-enabling_and_disabling_selinux-disabling_selinux). - [禁用 SELinux](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/6/html/security-enhanced_linux/sect-security-enhanced_linux-enabling_and_disabling_selinux-disabling_selinux).
@@ -662,7 +662,7 @@ kube-apiserver 这样的控制平面组件。然而,由于解析 (`mapStringSt
但这将导致键 `enable-admission-plugins` 仅有值 `NamespaceExists` 但这将导致键 `enable-admission-plugins` 仅有值 `NamespaceExists`
已知的解决方法是使用 kubeadm 已知的解决方法是使用 kubeadm
[配置文件](/zh/docs/reference/config-api/kubeadm-config.v1beta3/)。 [配置文件](/zh-cn/docs/reference/config-api/kubeadm-config.v1beta3/)。
<!-- <!--
## kube-proxy scheduled before node is initialized by cloud-controller-manager ## kube-proxy scheduled before node is initialized by cloud-controller-manager
@@ -735,7 +735,7 @@ To workaround this issue you can configure the flex-volume directory using the k
On the primary control-plane Node (created using `kubeadm init`) pass the following On the primary control-plane Node (created using `kubeadm init`) pass the following
file using `--config`: file using `--config`:
--> -->
为了解决这个问题,你可以使用 kubeadm 的[配置文件](/zh/docs/reference/config-api/kubeadm-config.v1beta3/) 来配置 FlexVolume 的目录。 为了解决这个问题,你可以使用 kubeadm 的[配置文件](/zh-cn/docs/reference/config-api/kubeadm-config.v1beta3/) 来配置 FlexVolume 的目录。
在(使用 `kubeadm init` 创建的)主控制节点上,使用 `--config` 在(使用 `kubeadm init` 创建的)主控制节点上,使用 `--config`
参数传入如下文件: 参数传入如下文件:
@@ -840,7 +840,7 @@ to understand how to configure the kubelets in a kubeadm cluster to have properl
Also see [How to run the metrics-server securely](https://github.com/kubernetes-sigs/metrics-server/blob/master/FAQ.md#how-to-run-metrics-server-securely). Also see [How to run the metrics-server securely](https://github.com/kubernetes-sigs/metrics-server/blob/master/FAQ.md#how-to-run-metrics-server-securely).
--> -->
参见[为 kubelet 启用签名的服务证书](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/#kubelet-serving-certs) 参见[为 kubelet 启用签名的服务证书](/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-certs/#kubelet-serving-certs)
以进一步了解如何在 kubeadm 集群中配置 kubelet 使用正确签名了的服务证书。 以进一步了解如何在 kubeadm 集群中配置 kubelet 使用正确签名了的服务证书。
另请参阅 [How to run the metrics-server securely](https://github.com/kubernetes-sigs/metrics-server/blob/master/FAQ.md#how-to-run-metrics-server-securely)。 另请参阅 [How to run the metrics-server securely](https://github.com/kubernetes-sigs/metrics-server/blob/master/FAQ.md#how-to-run-metrics-server-securely)。
@@ -56,8 +56,8 @@ To choose a tool which best fits your use case, read [this comparison](https://g
[kubeadm](/docs/reference/setup-tools/kubeadm/) and [kops](/docs/setup/production-environment/tools/kops/). [kubeadm](/docs/reference/setup-tools/kubeadm/) and [kops](/docs/setup/production-environment/tools/kops/).
--> -->
要选择最适合你的用例的工具,请阅读 要选择最适合你的用例的工具,请阅读
[kubeadm](/zh/docs/reference/setup-tools/kubeadm/) 和 [kubeadm](/zh-cn/docs/reference/setup-tools/kubeadm/) 和
[kops](/zh/docs/setup/production-environment/tools/kops/) 之间的 [kops](/zh-cn/docs/setup/production-environment/tools/kops/) 之间的
[这份比较](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/comparisons.md)。 [这份比较](https://github.com/kubernetes-sigs/kubespray/blob/master/docs/comparisons.md)。
<!-- body --> <!-- body -->