Merge pull request #33960 from Sea-n/zh-reviewer-setup-topology
[zh] Remove reviewer for topology and cluster-kubeadm
This commit is contained in:
+62
-52
@@ -1,11 +1,8 @@
|
|||||||
---
|
---
|
||||||
reviewers:
|
|
||||||
- sig-cluster-lifecycle
|
|
||||||
title: 使用 kubeadm 创建集群
|
title: 使用 kubeadm 创建集群
|
||||||
content_type: task
|
content_type: task
|
||||||
weight: 30
|
weight: 30
|
||||||
---
|
---
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
reviewers:
|
reviewers:
|
||||||
- sig-cluster-lifecycle
|
- sig-cluster-lifecycle
|
||||||
@@ -17,13 +14,19 @@ weight: 30
|
|||||||
<!-- overview -->
|
<!-- overview -->
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
<img src="https://raw.githubusercontent.com/kubernetes/kubeadm/master/logos/stacked/color/kubeadm-stacked-color.png" align="right" width="150px">Using `kubeadm`, you can create a minimum viable Kubernetes cluster that conforms to best practices. In fact, you can use `kubeadm` to set up a cluster that will pass the [Kubernetes Conformance tests](https://kubernetes.io/blog/2017/10/software-conformance-certification).
|
<img src="/images/kubeadm-stacked-color.png" align="right" width="150px"></img>
|
||||||
`kubeadm` also supports other cluster
|
Using `kubeadm`, you can create a minimum viable Kubernetes cluster that conforms to best practices.
|
||||||
lifecycle functions, such as [bootstrap tokens](/docs/reference/access-authn-authz/bootstrap-tokens/) and cluster upgrades.
|
In fact, you can use `kubeadm` to set up a cluster that will pass the
|
||||||
|
[Kubernetes Conformance tests](https://kubernetes.io/blog/2017/10/software-conformance-certification).
|
||||||
|
`kubeadm` also supports other cluster lifecycle functions, such as
|
||||||
|
[bootstrap tokens](/docs/reference/access-authn-authz/bootstrap-tokens/) and cluster upgrades.
|
||||||
-->
|
-->
|
||||||
<img src="/images/kubeadm-stacked-color.png" align="right" width="150px">使用 `kubeadm`,你能创建一个符合最佳实践的最小化 Kubernetes 集群。事实上,你可以使用 `kubeadm` 配置一个通过 [Kubernetes 一致性测试](https://kubernetes.io/blog/2017/10/software-conformance-certification) 的集群。
|
<img src="/images/kubeadm-stacked-color.png" align="right" width="150px"></img>
|
||||||
|
使用 `kubeadm`,你能创建一个符合最佳实践的最小化 Kubernetes 集群。
|
||||||
|
事实上,你可以使用 `kubeadm` 配置一个通过
|
||||||
|
[Kubernetes 一致性测试](https://kubernetes.io/blog/2017/10/software-conformance-certification)的集群。
|
||||||
`kubeadm` 还支持其他集群生命周期功能,
|
`kubeadm` 还支持其他集群生命周期功能,
|
||||||
例如 [启动引导令牌](/zh/docs/reference/access-authn-authz/bootstrap-tokens/) 和集群升级。
|
例如[启动引导令牌](/zh/docs/reference/access-authn-authz/bootstrap-tokens/)和集群升级。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
The `kubeadm` tool is good if you need:
|
The `kubeadm` tool is good if you need:
|
||||||
@@ -75,11 +78,12 @@ of Kubernetes that you want to use in your new cluster.
|
|||||||
你还需要使用可以在新集群中部署特定 Kubernetes 版本对应的 `kubeadm`。
|
你还需要使用可以在新集群中部署特定 Kubernetes 版本对应的 `kubeadm`。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
[Kubernetes' version and version skew support policy](/docs/setup/release/version-skew-policy/#supported-versions) applies to `kubeadm` as well as to Kubernetes overall.
|
[Kubernetes' version and version skew support policy](/docs/setup/release/version-skew-policy/#supported-versions)
|
||||||
|
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/docs/setup/release/version-skew-policy/#supported-versions)适用于 `kubeadm` 以及整个 Kubernetes。
|
||||||
查阅该策略以了解支持哪些版本的 Kubernetes 和 `kubeadm`。
|
查阅该策略以了解支持哪些版本的 Kubernetes 和 `kubeadm`。
|
||||||
该页面是为 Kubernetes {{< param "version" >}} 编写的。
|
该页面是为 Kubernetes {{< param "version" >}} 编写的。
|
||||||
|
|
||||||
@@ -103,7 +107,7 @@ Any commands under `kubeadm alpha` are, by definition, supported on an alpha lev
|
|||||||
<!--
|
<!--
|
||||||
## Objectives
|
## Objectives
|
||||||
-->
|
-->
|
||||||
## 目标
|
## 目标 {#objectives}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
* Install a single control-plane Kubernetes cluster
|
* Install a single control-plane Kubernetes cluster
|
||||||
@@ -116,12 +120,12 @@ Any commands under `kubeadm alpha` are, by definition, supported on an alpha lev
|
|||||||
<!--
|
<!--
|
||||||
## Instructions
|
## Instructions
|
||||||
-->
|
-->
|
||||||
## 操作指南
|
## 操作指南 {#instructions}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
### Preparing the hosts
|
### Preparing the hosts
|
||||||
-->
|
-->
|
||||||
### 主机准备
|
### 主机准备 {#preparing-the-hosts}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Install a {{< glossary_tooltip term_id="container-runtime" text="container runtime" >}} and kubeadm on all the hosts.
|
Install a {{< glossary_tooltip term_id="container-runtime" text="container runtime" >}} and kubeadm on all the hosts.
|
||||||
@@ -150,7 +154,7 @@ apt-get upgrade` 或 `yum update` 以获取 kubeadm 的最新版本。
|
|||||||
<!--
|
<!--
|
||||||
### Preparing the required container images
|
### Preparing the required container images
|
||||||
-->
|
-->
|
||||||
### 准备所需的容器镜像
|
### 准备所需的容器镜像 {#preparing-the-required-container-images}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
This step is optional and only applies in case you wish `kubeadm init` and `kubeadm join`
|
This step is optional and only applies in case you wish `kubeadm init` and `kubeadm join`
|
||||||
@@ -177,7 +181,7 @@ Kubeadm 允许你给所需要的镜像指定一个自定义的镜像仓库。
|
|||||||
<!--
|
<!--
|
||||||
### Initializing your control-plane node
|
### Initializing your control-plane node
|
||||||
-->
|
-->
|
||||||
### 初始化控制平面节点
|
### 初始化控制平面节点 {#initializing-your-control-plane-node}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
The control-plane node is the machine where the control plane components run, including
|
The control-plane node is the machine where the control plane components run, including
|
||||||
@@ -210,7 +214,8 @@ a provider-specific value. See [Installing a Pod network add-on](#pod-network).
|
|||||||
<!--
|
<!--
|
||||||
1. (Optional) `kubeadm` tries to detect the container runtime by using a list of well
|
1. (Optional) `kubeadm` tries to detect the container runtime by using a list of well
|
||||||
known endpoints. To use different container runtime or if there are more than one installed
|
known endpoints. To use different container runtime or if there are more than one installed
|
||||||
on the provisioned node, specify the `--cri-socket` argument to `kubeadm`. See [Installing runtime](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-runtime).
|
on the provisioned node, specify the `--cri-socket` argument to `kubeadm`. See
|
||||||
|
[Installing a runtime](/docs/setup/production-environment/tools/kubeadm/install-kubeadm/#installing-runtime).
|
||||||
1. (Optional) Unless otherwise specified, `kubeadm` uses the network interface associated
|
1. (Optional) Unless otherwise specified, `kubeadm` uses the network interface associated
|
||||||
with the default gateway to set the advertise address for this particular control-plane node's API server.
|
with the default gateway to set the advertise address for this particular control-plane node's API server.
|
||||||
To use a different network interface, specify the `--apiserver-advertise-address=<ip-address>` argument
|
To use a different network interface, specify the `--apiserver-advertise-address=<ip-address>` argument
|
||||||
@@ -237,7 +242,7 @@ kubeadm init <args>
|
|||||||
<!--
|
<!--
|
||||||
### Considerations about apiserver-advertise-address and ControlPlaneEndpoint
|
### Considerations about apiserver-advertise-address and ControlPlaneEndpoint
|
||||||
-->
|
-->
|
||||||
### 关于 apiserver-advertise-address 和 ControlPlaneEndpoint 的注意事项
|
### 关于 apiserver-advertise-address 和 ControlPlaneEndpoint 的注意事项 {#considerations-about-apiserver-advertise-address-and-controlplaneendpoint}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
While `--apiserver-advertise-address` can be used to set the advertise address for this particular
|
While `--apiserver-advertise-address` can be used to set the advertise address for this particular
|
||||||
@@ -282,7 +287,7 @@ kubeadm 不支持将没有 `--control-plane-endpoint` 参数的单个控制平
|
|||||||
<!--
|
<!--
|
||||||
### More information
|
### More information
|
||||||
-->
|
-->
|
||||||
### 更多信息
|
### 更多信息 {#more-information}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
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/).
|
||||||
@@ -290,14 +295,19 @@ For more information about `kubeadm init` arguments, see the [kubeadm reference
|
|||||||
有关 `kubeadm init` 参数的更多信息,请参见 [kubeadm 参考指南](/zh/docs/reference/setup-tools/kubeadm/)。
|
有关 `kubeadm init` 参数的更多信息,请参见 [kubeadm 参考指南](/zh/docs/reference/setup-tools/kubeadm/)。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
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).
|
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).
|
||||||
-->
|
-->
|
||||||
要使用配置文件配置 `kubeadm init` 命令,请参见[带配置文件使用 kubeadm init](/zh/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file)。
|
要使用配置文件配置 `kubeadm init` 命令,
|
||||||
|
请参见[带配置文件使用 kubeadm init](/zh/docs/reference/setup-tools/kubeadm/kubeadm-init/#config-file)。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
To customize control plane components, including optional IPv6 assignment to liveness probe for control plane components and etcd server, provide extra arguments to each component as documented in [custom arguments](/docs/setup/production-environment/tools/kubeadm/control-plane-flags/).
|
To customize control plane components, including optional IPv6 assignment to liveness probe
|
||||||
|
for control plane components and etcd server, provide extra arguments to each component as documented in
|
||||||
|
[custom arguments](/docs/setup/production-environment/tools/kubeadm/control-plane-flags/).
|
||||||
-->
|
-->
|
||||||
要自定义控制平面组件,包括可选的对控制平面组件和 etcd 服务器的活动探针提供 IPv6 支持,请参阅[自定义参数](/zh/docs/setup/production-environment/tools/kubeadm/control-plane-flags/)。
|
要自定义控制平面组件,包括可选的对控制平面组件和 etcd 服务器的活动探针提供 IPv6 支持,
|
||||||
|
请参阅[自定义参数](/zh/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
|
||||||
@@ -487,7 +497,7 @@ support [Network Policy](/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/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
|
||||||
@@ -538,13 +548,13 @@ and ensure it is using a privileged kubeconfig such as the kubeadm managed `/etc
|
|||||||
准入控制器来限制 kubelets 在节点注册时可以应用哪些标签。准入控制器文档描述 kubelet `--node-labels` 选项允许使用哪些标签。
|
准入控制器来限制 kubelets 在节点注册时可以应用哪些标签。准入控制器文档描述 kubelet `--node-labels` 选项允许使用哪些标签。
|
||||||
其中 `node-role.kubernetes.io/control-plane` 标签就是这样一个受限制的标签,
|
其中 `node-role.kubernetes.io/control-plane` 标签就是这样一个受限制的标签,
|
||||||
kubeadm 在节点创建后使用特权客户端手动应用此标签。
|
kubeadm 在节点创建后使用特权客户端手动应用此标签。
|
||||||
你可以使用一个有特权的 kubeconfig, 比如由 kubeadm 管理的 `/etc/kubernetes/admin.conf`,
|
你可以使用一个有特权的 kubeconfig,比如由 kubeadm 管理的 `/etc/kubernetes/admin.conf`,
|
||||||
通过执行 `kubectl label` 来手动完成操作。
|
通过执行 `kubectl label` 来手动完成操作。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
### Control plane node isolation
|
### Control plane node isolation
|
||||||
-->
|
-->
|
||||||
### 控制平面节点隔离
|
### 控制平面节点隔离 {#control-plane-node-isolation}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
By default, your cluster will not schedule Pods on the control plane nodes for security
|
By default, your cluster will not schedule Pods on the control plane nodes for security
|
||||||
@@ -604,11 +614,11 @@ The nodes are where your workloads (containers and Pods, etc) run. To add new no
|
|||||||
-->
|
-->
|
||||||
* SSH 到机器
|
* SSH 到机器
|
||||||
* 成为 root (例如 `sudo su -`)
|
* 成为 root (例如 `sudo su -`)
|
||||||
* 运行 `kubeadm init` 输出的命令。例如:
|
* 运行 `kubeadm init` 输出的命令,例如:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
kubeadm join --token <token> <control-plane-host>:<control-plane-port> --discovery-token-ca-cert-hash sha256:<hash>
|
kubeadm join --token <token> <control-plane-host>:<control-plane-port> --discovery-token-ca-cert-hash sha256:<hash>
|
||||||
```
|
```
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
If you do not have the token, you can get it by running the following command on the control-plane node:
|
If you do not have the token, you can get it by running the following command on the control-plane node:
|
||||||
@@ -636,7 +646,7 @@ TOKEN TTL EXPIRES USAGES DESCRIPTION
|
|||||||
By default, tokens expire after 24 hours. If you are joining a node to the cluster after the current token has expired,
|
By default, tokens expire after 24 hours. If you are joining a node to the cluster after the current token has expired,
|
||||||
you can create a new token by running the following command on the control-plane node:
|
you can create a new token by running the following command on the control-plane node:
|
||||||
-->
|
-->
|
||||||
默认情况下,令牌会在24小时后过期。如果要在当前令牌过期后将节点加入集群,
|
默认情况下,令牌会在 24 小时后过期。如果要在当前令牌过期后将节点加入集群,
|
||||||
则可以通过在控制平面节点上运行以下命令来创建新令牌:
|
则可以通过在控制平面节点上运行以下命令来创建新令牌:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@@ -715,7 +725,7 @@ with `kubectl -n kube-system rollout restart deployment coredns` after at least
|
|||||||
<!--
|
<!--
|
||||||
### (Optional) Controlling your cluster from machines other than the control-plane node
|
### (Optional) Controlling your cluster from machines other than the control-plane node
|
||||||
-->
|
-->
|
||||||
### (可选)从控制平面节点以外的计算机控制集群
|
### (可选)从控制平面节点以外的计算机控制集群 {#optional-controlling-your-cluster-from-machines-other-than-the-control-plane-node}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
In order to get a kubectl on some other computer (e.g. laptop) to talk to your
|
In order to get a kubectl on some other computer (e.g. laptop) to talk to your
|
||||||
@@ -743,8 +753,8 @@ should save to a file and distribute to your user. After that, grant
|
|||||||
privileges by using `kubectl create (cluster)rolebinding`.
|
privileges by using `kubectl create (cluster)rolebinding`.
|
||||||
-->
|
-->
|
||||||
{{< note >}}
|
{{< note >}}
|
||||||
上面的示例假定为 root 用户启用了SSH访问。如果不是这种情况,
|
上面的示例假定为 root 用户启用了 SSH 访问。如果不是这种情况,
|
||||||
你可以使用 `scp` 将 admin.conf 文件复制给其他允许访问的用户。
|
你可以使用 `scp` 将 `admin.conf` 文件复制给其他允许访问的用户。
|
||||||
|
|
||||||
admin.conf 文件为用户提供了对集群的超级用户特权。
|
admin.conf 文件为用户提供了对集群的超级用户特权。
|
||||||
该文件应谨慎使用。对于普通用户,建议生成一个你为其授予特权的唯一证书。
|
该文件应谨慎使用。对于普通用户,建议生成一个你为其授予特权的唯一证书。
|
||||||
@@ -756,7 +766,7 @@ admin.conf 文件为用户提供了对集群的超级用户特权。
|
|||||||
<!--
|
<!--
|
||||||
### (Optional) Proxying API Server to localhost
|
### (Optional) Proxying API Server to localhost
|
||||||
-->
|
-->
|
||||||
### (可选)将API服务器代理到本地主机
|
### (可选)将 API 服务器代理到本地主机 {#optional-proxying-api-server-to-localhost}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
If you want to connect to the API Server from outside the cluster you can use
|
If you want to connect to the API Server from outside the cluster you can use
|
||||||
@@ -771,7 +781,7 @@ kubectl --kubeconfig ./admin.conf proxy
|
|||||||
<!--
|
<!--
|
||||||
You can now access the API Server locally at `http://localhost:8001/api/v1`
|
You can now access the API Server locally at `http://localhost:8001/api/v1`
|
||||||
-->
|
-->
|
||||||
你现在可以在本地访问API服务器 http://localhost:8001/api/v1
|
你现在可以在本地访问 API 服务器 `http://localhost:8001/api/v1`。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
## Clean up {#tear-down}
|
## Clean up {#tear-down}
|
||||||
@@ -798,7 +808,7 @@ and make sure that the node is empty, then deconfigure the node.
|
|||||||
<!--
|
<!--
|
||||||
### Remove the node
|
### Remove the node
|
||||||
-->
|
-->
|
||||||
### 删除节点
|
### 删除节点 {#remove-the-node}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Talking to the control-plane node with the appropriate credentials, run:
|
Talking to the control-plane node with the appropriate credentials, run:
|
||||||
@@ -845,7 +855,7 @@ kubectl delete node <node name>
|
|||||||
```
|
```
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
If you wish to start over simply run `kubeadm init` or `kubeadm join` with the
|
If you wish to start over, run `kubeadm init` or `kubeadm join` with the
|
||||||
appropriate arguments.
|
appropriate arguments.
|
||||||
-->
|
-->
|
||||||
如果你想重新开始,只需运行 `kubeadm init` 或 `kubeadm join` 并加上适当的参数。
|
如果你想重新开始,只需运行 `kubeadm init` 或 `kubeadm join` 并加上适当的参数。
|
||||||
@@ -853,7 +863,7 @@ appropriate arguments.
|
|||||||
<!--
|
<!--
|
||||||
### Clean up the control plane
|
### Clean up the control plane
|
||||||
-->
|
-->
|
||||||
### 清理控制平面
|
### 清理控制平面 {#clean-up-the-control-plane}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
You can use `kubeadm reset` on the control plane host to trigger a best-effort
|
You can use `kubeadm reset` on the control plane host to trigger a best-effort
|
||||||
@@ -866,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/docs/reference/setup-tools/kubeadm/kubeadm-reset/) 参考文档。
|
||||||
|
|
||||||
<!-- discussion -->
|
<!-- discussion -->
|
||||||
|
|
||||||
@@ -879,7 +889,7 @@ options.
|
|||||||
* Verify that your cluster is running properly with [Sonobuoy](https://github.com/heptio/sonobuoy)
|
* Verify that your cluster is running properly with [Sonobuoy](https://github.com/heptio/sonobuoy)
|
||||||
* <a id="lifecycle" />See [Upgrading kubeadm clusters](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)
|
* <a id="lifecycle" />See [Upgrading kubeadm clusters](/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)
|
||||||
for details about upgrading your cluster using `kubeadm`.
|
for details about upgrading your cluster using `kubeadm`.
|
||||||
* Learn about advanced `kubeadm` usage in the [kubeadm reference documentation](/docs/reference/setup-tools/kubeadm)
|
* Learn about advanced `kubeadm` usage in the [kubeadm reference documentation](/docs/reference/setup-tools/kubeadm/kubeadm)
|
||||||
* Learn more about Kubernetes [concepts](/docs/concepts/) and [`kubectl`](/docs/reference/kubectl/).
|
* Learn more about Kubernetes [concepts](/docs/concepts/) and [`kubectl`](/docs/reference/kubectl/).
|
||||||
* See the [Cluster Networking](/docs/concepts/cluster-administration/networking/) page for a bigger list
|
* See the [Cluster Networking](/docs/concepts/cluster-administration/networking/) page for a bigger list
|
||||||
of Pod network add-ons.
|
of Pod network add-ons.
|
||||||
@@ -893,8 +903,8 @@ options.
|
|||||||
-->
|
-->
|
||||||
* 使用 [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/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/)。
|
||||||
* 在 [kubeadm 参考文档](/zh/docs/reference/setup-tools/kubeadm)中了解有关高级 `kubeadm` 用法的信息。
|
* 在 [kubeadm 参考文档](/zh/docs/reference/setup-tools/kubeadm/kubeadm)中了解有关 `kubeadm` 进阶用法的信息。
|
||||||
* 了解有关 Kubernetes [概念](/zh/docs/concepts/)和 [`kubectl`](/zh/docs/reference/kubectl/) 的更多信息。
|
* 了解有关 Kubernetes [概念](/zh/docs/concepts/)和 [`kubectl`](/zh/docs/reference/kubectl/)的更多信息。
|
||||||
* 有关 Pod 网络附加组件的更多列表,请参见[集群网络](/zh/docs/concepts/cluster-administration/networking/)页面。
|
* 有关 Pod 网络附加组件的更多列表,请参见[集群网络](/zh/docs/concepts/cluster-administration/networking/)页面。
|
||||||
* <a id="other-addons" />请参阅[附加组件列表](/zh/docs/concepts/cluster-administration/addons/)以探索其他附加组件,
|
* <a id="other-addons" />请参阅[附加组件列表](/zh/docs/concepts/cluster-administration/addons/)以探索其他附加组件,
|
||||||
包括用于 Kubernetes 集群的日志记录,监视,网络策略,可视化和控制的工具。
|
包括用于 Kubernetes 集群的日志记录,监视,网络策略,可视化和控制的工具。
|
||||||
@@ -917,8 +927,8 @@ options.
|
|||||||
* SIG Cluster Lifecycle mailing list:
|
* SIG Cluster Lifecycle mailing list:
|
||||||
[kubernetes-sig-cluster-lifecycle](https://groups.google.com/forum/#!forum/kubernetes-sig-cluster-lifecycle)
|
[kubernetes-sig-cluster-lifecycle](https://groups.google.com/forum/#!forum/kubernetes-sig-cluster-lifecycle)
|
||||||
-->
|
-->
|
||||||
* 有关 bugs, 访问 [kubeadm GitHub issue tracker](https://github.com/kubernetes/kubeadm/issues)
|
* 有关漏洞,访问 [kubeadm GitHub issue tracker](https://github.com/kubernetes/kubeadm/issues)
|
||||||
* 有关支持, 访问
|
* 有关支持,访问
|
||||||
[#kubeadm](https://kubernetes.slack.com/messages/kubeadm/) Slack 频道
|
[#kubeadm](https://kubernetes.slack.com/messages/kubeadm/) Slack 频道
|
||||||
* General SIG 集群生命周期开发 Slack 频道:
|
* General SIG 集群生命周期开发 Slack 频道:
|
||||||
[#sig-cluster-lifecycle](https://kubernetes.slack.com/messages/sig-cluster-lifecycle/)
|
[#sig-cluster-lifecycle](https://kubernetes.slack.com/messages/sig-cluster-lifecycle/)
|
||||||
@@ -942,7 +952,7 @@ match the kubeadm version with the versions of the control plane components, kub
|
|||||||
### kubeadm's skew against the Kubernetes version
|
### kubeadm's skew against the Kubernetes version
|
||||||
-->
|
-->
|
||||||
|
|
||||||
### kubeadm 中的 Kubernetes 版本偏差
|
### kubeadm 中的 Kubernetes 版本偏差 {#kubeadm-s-skew-against-the-kubernetes-version}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
kubeadm can be used with Kubernetes components that are the same version as kubeadm
|
kubeadm can be used with Kubernetes components that are the same version as kubeadm
|
||||||
@@ -970,7 +980,7 @@ Example:
|
|||||||
<!--
|
<!--
|
||||||
### kubeadm's skew against the kubelet
|
### kubeadm's skew against the kubelet
|
||||||
-->
|
-->
|
||||||
### kubeadm 中 kubelet 的版本偏差
|
### kubeadm 中 kubelet 的版本偏差 {#kubeadm-s-skew-against-the-kubelet}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Similarly to the Kubernetes version, kubeadm can be used with a kubelet version that is the same
|
Similarly to the Kubernetes version, kubeadm can be used with a kubelet version that is the same
|
||||||
@@ -991,7 +1001,7 @@ Example:
|
|||||||
<!--
|
<!--
|
||||||
### kubeadm's skew against kubeadm
|
### kubeadm's skew against kubeadm
|
||||||
-->
|
-->
|
||||||
### kubeadm 支持的 kubeadm 的版本偏差
|
### kubeadm 支持的 kubeadm 的版本偏差 {#kubeadm-s-skew-against-kubeadm}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
There are certain limitations on how kubeadm commands can operate on existing nodes or whole clusters
|
There are certain limitations on how kubeadm commands can operate on existing nodes or whole clusters
|
||||||
@@ -1032,7 +1042,7 @@ Example for `kubeadm upgrade`:
|
|||||||
* The version of kubeadm used for upgrading the node must be at {{< skew prevMinorVersion >}}
|
* The version of kubeadm used for upgrading the node must be at {{< skew prevMinorVersion >}}
|
||||||
or {{< skew latestVersion >}}
|
or {{< skew latestVersion >}}
|
||||||
-->
|
-->
|
||||||
`kubeadm upgrade`的例子:
|
`kubeadm upgrade` 的例子:
|
||||||
* 用于创建或升级节点的 kubeadm 版本为 {{< skew prevMinorVersion >}}。
|
* 用于创建或升级节点的 kubeadm 版本为 {{< skew prevMinorVersion >}}。
|
||||||
* 用于升级节点的 kubeadm 版本必须为 {{< skew prevMinorVersion >}} 或 {{< skew latestVersion >}}。
|
* 用于升级节点的 kubeadm 版本必须为 {{< skew prevMinorVersion >}} 或 {{< skew latestVersion >}}。
|
||||||
|
|
||||||
@@ -1064,7 +1074,7 @@ data and may need to be recreated from scratch.
|
|||||||
<!--
|
<!--
|
||||||
Workarounds:
|
Workarounds:
|
||||||
-->
|
-->
|
||||||
解决方法:
|
解决方法:
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
* Regularly [back up etcd](https://coreos.com/etcd/docs/latest/admin_guide.html). The
|
* Regularly [back up etcd](https://coreos.com/etcd/docs/latest/admin_guide.html). The
|
||||||
@@ -1079,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/docs/setup/production-environment/tools/kubeadm/ha-topology/)选择集群拓扑提供的
|
||||||
[高可用性](/zh/docs/setup/production-environment/tools/kubeadm/high-availability/).
|
[高可用性](/zh/docs/setup/production-environment/tools/kubeadm/high-availability/)。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
### Platform compatibility {#multi-platform}
|
### Platform compatibility {#multi-platform}
|
||||||
@@ -1092,7 +1102,7 @@ kubeadm deb/rpm packages and binaries are built for amd64, arm (32-bit), arm64,
|
|||||||
following the [multi-platform
|
following the [multi-platform
|
||||||
proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/multi-platform.md).
|
proposal](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/multi-platform.md).
|
||||||
-->
|
-->
|
||||||
kubeadm deb/rpm 软件包和二进制文件是为 amd64,arm (32-bit),arm64,ppc64le 和 s390x 构建的遵循[多平台提案](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/multi-platform.md)。
|
kubeadm deb/rpm 软件包和二进制文件是为 amd64、arm (32-bit)、arm64、ppc64le 和 s390x 构建的遵循[多平台提案](https://github.com/kubernetes/community/blob/master/contributors/design-proposals/multi-platform.md)。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Multiplatform container images for the control plane and addons are also supported since v1.12.
|
Multiplatform container images for the control plane and addons are also supported since v1.12.
|
||||||
|
|||||||
@@ -1,11 +1,8 @@
|
|||||||
---
|
---
|
||||||
reviewers:
|
|
||||||
- sig-cluster-lifecycle
|
|
||||||
title: 高可用拓扑选项
|
title: 高可用拓扑选项
|
||||||
content_type: concept
|
content_type: concept
|
||||||
weight: 50
|
weight: 50
|
||||||
---
|
---
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
reviewers:
|
reviewers:
|
||||||
- sig-cluster-lifecycle
|
- sig-cluster-lifecycle
|
||||||
@@ -19,7 +16,7 @@ weight: 50
|
|||||||
<!--
|
<!--
|
||||||
This page explains the two options for configuring the topology of your highly available (HA) Kubernetes clusters.
|
This page explains the two options for configuring the topology of your highly available (HA) Kubernetes clusters.
|
||||||
-->
|
-->
|
||||||
本页面介绍了配置高可用(HA) Kubernetes 集群拓扑的两个选项。
|
本页面介绍了配置高可用(HA)Kubernetes 集群拓扑的两个选项。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
You can set up an HA cluster:
|
You can set up an HA cluster:
|
||||||
@@ -38,13 +35,12 @@ You should carefully consider the advantages and disadvantages of each topology
|
|||||||
-->
|
-->
|
||||||
在设置 HA 集群之前,你应该仔细考虑每种拓扑的优缺点。
|
在设置 HA 集群之前,你应该仔细考虑每种拓扑的优缺点。
|
||||||
|
|
||||||
|
{{< note >}}
|
||||||
<!--
|
<!--
|
||||||
kubeadm bootstraps the etcd cluster statically. Read the etcd [Clustering Guide](https://github.com/etcd-io/etcd/blob/release-3.4/Documentation/op-guide/clustering.md#static)
|
kubeadm bootstraps the etcd cluster statically. Read the etcd [Clustering Guide](https://github.com/etcd-io/etcd/blob/release-3.4/Documentation/op-guide/clustering.md#static)
|
||||||
for more details.
|
for more details.
|
||||||
-->
|
-->
|
||||||
|
kubeadm 静态引导 etcd 集群。
|
||||||
{{< note >}}
|
|
||||||
kubeadm 静态引导 etcd 集群。
|
|
||||||
阅读 etcd [集群指南](https://github.com/etcd-io/etcd/blob/release-3.4/Documentation/op-guide/clustering.md#static)以获得更多详细信息。
|
阅读 etcd [集群指南](https://github.com/etcd-io/etcd/blob/release-3.4/Documentation/op-guide/clustering.md#static)以获得更多详细信息。
|
||||||
{{< /note >}}
|
{{< /note >}}
|
||||||
|
|
||||||
@@ -55,18 +51,20 @@ kubeadm 静态引导 etcd 集群。
|
|||||||
<!--
|
<!--
|
||||||
## Stacked etcd topology
|
## Stacked etcd topology
|
||||||
-->
|
-->
|
||||||
## 堆叠(Stacked) etcd 拓扑
|
## 堆叠(Stacked)etcd 拓扑 {#stacked-etcd-topology}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
A stacked HA cluster is a [topology](https://en.wikipedia.org/wiki/Network_topology) where the distributeddata storage cluster provided by etcd is stacked on top of the cluster formed by the nodes managed by kubeadm that run control plane components.
|
A stacked HA cluster is a [topology](https://en.wikipedia.org/wiki/Network_topology) where the distributed
|
||||||
|
data storage cluster provided by etcd is stacked on top of the cluster formed by the nodes managed by
|
||||||
|
kubeadm that run control plane components.
|
||||||
-->
|
-->
|
||||||
堆叠(Stacked) HA 集群是一种这样的[拓扑](https://en.wikipedia.org/wiki/Network_topology),
|
堆叠(Stacked)HA 集群是一种这样的[拓扑](https://en.wikipedia.org/wiki/Network_topology),
|
||||||
其中 etcd 分布式数据存储集群堆叠在 kubeadm 管理的控制平面节点上,作为控制平面的一个组件运行。
|
其中 etcd 分布式数据存储集群堆叠在 kubeadm 管理的控制平面节点上,作为控制平面的一个组件运行。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Each control plane node runs an instance of the `kube-apiserver`, `kube-scheduler`, and `kube-controller-manager`.
|
Each control plane node runs an instance of the `kube-apiserver`, `kube-scheduler`, and `kube-controller-manager`.
|
||||||
-->
|
-->
|
||||||
每个控制平面节点运行 `kube-apiserver`,`kube-scheduler` 和 `kube-controller-manager` 实例。
|
每个控制平面节点运行 `kube-apiserver`、`kube-scheduler` 和 `kube-controller-manager` 实例。
|
||||||
<!--
|
<!--
|
||||||
The `kube-apiserver` is exposed to worker nodes using a load balancer.
|
The `kube-apiserver` is exposed to worker nodes using a load balancer.
|
||||||
-->
|
-->
|
||||||
@@ -81,13 +79,15 @@ and `kube-scheduler` instances.
|
|||||||
这同样适用于本地 `kube-controller-manager` 和 `kube-scheduler` 实例。
|
这同样适用于本地 `kube-controller-manager` 和 `kube-scheduler` 实例。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
This topology couples the control planes and etcd members on the same nodes. It is simpler to set up than a cluster with external etcd nodes, and simpler to manage for replication.
|
This topology couples the control planes and etcd members on the same nodes. It is simpler to set up than a cluster
|
||||||
|
with external etcd nodes, and simpler to manage for replication.
|
||||||
-->
|
-->
|
||||||
这种拓扑将控制平面和 etcd 成员耦合在同一节点上。相对使用外部 etcd 集群 ,
|
这种拓扑将控制平面和 etcd 成员耦合在同一节点上。相对使用外部 etcd 集群,
|
||||||
设置起来更简单,而且更易于副本管理。
|
设置起来更简单,而且更易于副本管理。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
However, a stacked cluster runs the risk of failed coupling. If one node goes down, both an etcd member and a controlplane instance are lost, and redundancy is compromised. You can mitigate this risk by adding more control plane nodes.
|
However, a stacked cluster runs the risk of failed coupling. If one node goes down, both an etcd member and a control
|
||||||
|
plane instance are lost, and redundancy is compromised. You can mitigate this risk by adding more control plane nodes.
|
||||||
-->
|
-->
|
||||||
然而,堆叠集群存在耦合失败的风险。如果一个节点发生故障,则 etcd 成员和控制平面实例都将丢失,
|
然而,堆叠集群存在耦合失败的风险。如果一个节点发生故障,则 etcd 成员和控制平面实例都将丢失,
|
||||||
并且冗余会受到影响。你可以通过添加更多控制平面节点来降低此风险。
|
并且冗余会受到影响。你可以通过添加更多控制平面节点来降低此风险。
|
||||||
@@ -112,31 +112,33 @@ on control plane nodes when using `kubeadm init` and `kubeadm join --control-pla
|
|||||||
<!--
|
<!--
|
||||||
## External etcd topology
|
## External etcd topology
|
||||||
-->
|
-->
|
||||||
## 外部 etcd 拓扑
|
## 外部 etcd 拓扑 {#external-etcd-topology}
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
An HA cluster with external etcd is a [topology](https://en.wikipedia.org/wiki/Network_topology) where the distributed data storage cluster provided by etcd is external to the cluster formed by the nodes that run control plane components.
|
An HA cluster with external etcd is a [topology](https://en.wikipedia.org/wiki/Network_topology) where the distributed data storage cluster provided by etcd is external to the cluster formed by the nodes that run control plane components.
|
||||||
-->
|
-->
|
||||||
具有外部 etcd 的 HA 集群是一种这样的[拓扑](https://en.wikipedia.org/wiki/Network_topology),
|
具有外部 etcd 的 HA 集群是一种这样的[拓扑](https://zh.wikipedia.org/wiki/%E7%BD%91%E7%BB%9C%E6%8B%93%E6%89%91),
|
||||||
其中 etcd 分布式数据存储集群在独立于控制平面节点的其他节点上运行。
|
其中 etcd 分布式数据存储集群在独立于控制平面节点的其他节点上运行。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
Like the stacked etcd topology, each control plane node in an external etcd topology runs an instance of the `kube-apiserver`, `kube-scheduler`, and `kube-controller-manager`. And the `kube-apiserver` is exposed to worker nodes using a load balancer. However, etcd members run on separate hosts, and each etcd host communicates with the `kube-apiserver` of each control plane node.
|
Like the stacked etcd topology, each control plane node in an external etcd topology runs an instance of the `kube-apiserver`, `kube-scheduler`, and `kube-controller-manager`. And the `kube-apiserver` is exposed to worker nodes using a load balancer. However, etcd members run on separate hosts, and each etcd host communicates with the `kube-apiserver` of each control plane node.
|
||||||
-->
|
-->
|
||||||
就像堆叠的 etcd 拓扑一样,外部 etcd 拓扑中的每个控制平面节点都运行 `kube-apiserver`,`kube-scheduler` 和 `kube-controller-manager` 实例。
|
就像堆叠的 etcd 拓扑一样,外部 etcd 拓扑中的每个控制平面节点都运行 `kube-apiserver`,`kube-scheduler` 和 `kube-controller-manager` 实例。
|
||||||
同样,`kube-apiserver` 使用负载均衡器暴露给工作节点。但是,etcd 成员在不同的主机上运行,
|
同样,`kube-apiserver` 使用负载均衡器暴露给工作节点。但是 etcd 成员在不同的主机上运行,
|
||||||
每个 etcd 主机与每个控制平面节点的 `kube-apiserver` 通信。
|
每个 etcd 主机与每个控制平面节点的 `kube-apiserver` 通信。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
This topology decouples the control plane and etcd member. It therefore provides an HA setup wherelosing a control plane instance or an etcd member has less impact and does not affectthe cluster redundancy as much as the stacked HA topology.
|
This topology decouples the control plane and etcd member. It therefore provides an HA setup where
|
||||||
|
losing a control plane instance or an etcd member has less impact and does not affect
|
||||||
|
the cluster redundancy as much as the stacked HA topology.
|
||||||
-->
|
-->
|
||||||
这种拓扑结构解耦了控制平面和 etcd 成员。因此,它提供了一种 HA 设置,
|
这种拓扑结构解耦了控制平面和 etcd 成员。因此它提供了一种 HA 设置,
|
||||||
其中失去控制平面实例或者 etcd 成员的影响较小,并且不会像堆叠的 HA 拓扑那样影响集群冗余。
|
其中失去控制平面实例或者 etcd 成员的影响较小,并且不会像堆叠的 HA 拓扑那样影响集群冗余。
|
||||||
|
|
||||||
<!--
|
<!--
|
||||||
However, this topology requires twice the number of hosts as the stacked HA topology.
|
However, this topology requires twice the number of hosts as the stacked HA topology.
|
||||||
-->
|
-->
|
||||||
但是,此拓扑需要两倍于堆叠 HA 拓扑的主机数量。
|
但此拓扑需要两倍于堆叠 HA 拓扑的主机数量。
|
||||||
<!--
|
<!--
|
||||||
A minimum of three hosts for control plane nodes and three hosts for etcd nodes are required for an HA cluster with this topology.
|
A minimum of three hosts for control plane nodes and three hosts for etcd nodes are required for an HA cluster with this topology.
|
||||||
-->
|
-->
|
||||||
@@ -152,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/docs/setup/production-environment/tools/kubeadm/high-availability/)
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user