From b684984ccb97fe5b16a2cbd14567b08dd968ec78 Mon Sep 17 00:00:00 2001 From: windsonsea Date: Wed, 14 Aug 2024 17:48:03 +0800 Subject: [PATCH] [zh] Sync kubeadm/kubeadm-init.md --- .../setup-tools/kubeadm/kubeadm-init.md | 119 ++++++++---------- 1 file changed, 51 insertions(+), 68 deletions(-) diff --git a/content/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-init.md b/content/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-init.md index 50bfcf013893e..e8e75b1bd9296 100644 --- a/content/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-init.md +++ b/content/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-init.md @@ -4,12 +4,6 @@ content_type: concept weight: 20 --- - - 可以使用 [kubeadm config print](/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-config/) 命令打印出默认配置。 @@ -258,7 +252,7 @@ For more information on the fields and usage of the configuration you can naviga [kubeadm config migrate](/zh-cn/docs/reference/setup-tools/kubeadm/kubeadm-config/) 命令进行迁移。 -关于配置的字段和用法的更多信息,你可以访问 [API 参考页面](/zh-cn/docs/reference/config-api/kubeadm-config.v1beta3/)。 +关于配置的字段和用法的更多信息,你可以访问 [API 参考页面](/zh-cn/docs/reference/config-api/kubeadm-config.v1beta4/)。 你可以使用 `--feature-gates` 标志来为 `kubeadm init` 设置特性门控, 或者你可以在用 `--config` -传递[配置文件](/zh-cn/docs/reference/config-api/kubeadm-config.v1beta3/#kubeadm-k8s-io-v1beta3-ClusterConfiguration)时添加条目到 +传递[配置文件](/zh-cn/docs/reference/config-api/kubeadm-config.v1beta4/#kubeadm-k8s-io-v1beta4-ClusterConfiguration)时添加条目到 `featureGates` 字段中。 {{< table caption="kubeadm 特性门控" >}} 特性 | 默认值 | Alpha | Beta | GA :-------|:--------|:------|:-----|:---- +`ControlPlaneKubeletLocalMode` | `false` | 1.31 | - | - `EtcdLearnerMode` | `true` | 1.27 | 1.29 | - `PublicKeysECDSA` | `false` | 1.19 | - | - -`RootlessControlPlane` | `false` | 1.22 | - | - `WaitForAllControlPlaneComponents` | `false` | 1.30 | - | - {{< /table >}} @@ -328,6 +322,17 @@ Feature gate descriptions: --> 特性门控的描述: + +`ControlPlaneKubeletLocalMode` +: 启用此特性门控后,当加入新的控制平面节点时, + kubeadm 将配置 kubelet 连接到本地 kube-apiserver。 + 这将确保在滚动升级期间不会违反版本偏差策略。 + `PublicKeysECDSA` : 可用于创建集群时使用 ECDSA 证书而不是默认 RSA 算法。 支持用 `kubeadm certs renew` 更新现有 ECDSA 证书, 但你不能在集群运行期间或升级期间切换 RSA 和 ECDSA 算法。 - Kubernetes {{< skew currentVersion >}} 有一个错误,尽管开启了特性门控, + Kubernetes {{< skew currentVersion >}} 有一个错误,尽管开启了特性门控, 所生成的 kubeconfig 文件中的密钥仍使用 RSA 设置。 - - -`RootlessControlPlane` -: 设置此标志来配置 kubeadm 所部署的控制平面组件中的静态 Pod 容器 - `kube-apiserver`、`kube-controller-manager`、`kube-scheduler` 和 `etcd` - 以非 root 用户身份运行。如果未设置该标志,则这些组件以 root 身份运行。 - 你可以在升级到更新版本的 Kubernetes 之前更改此特性门控的值。 + 在 v1.31 之前的 Kubernetes 版本中,即使启用了 `PublicKeysECDSA` 特性门控, + 所生成的 kubeconfig 文件中的密钥仍然被设置为使用 RSA。 {{< table caption="kubeadm 弃用的特性门控" >}} -特性 | 默认值 -:-------|:-------- -`UpgradeAddonsBeforeControlPlane` | `false` +特性 | 默认值 | Alpha | Beta | GA | 弃用 +:-------|:--------|:------|:-----|:---|:---------- +`RootlessControlPlane` | `false` | 1.22 | - | - | 1.31 {{< /table >}} -`UpgradeAddonsBeforeControlPlane` -: 这是一个在 Kubernetes v1.28 中引入的默认**禁用**的特性门控, - 目的是在集群升级期间允许重新激活旧版且已弃用的行为。对于早于 v1.28 的 kubeadm 版本, - 在 `kubeadm upgrade apply` 期间会立即升级集群插件(包括 CoreDNS 和 kube-proxy), - 而不管是否有其他未升级的控制平面实例。这可能导致兼容性问题。从 v1.28 开始, - kubeadm 默认采用的模式是在开始升级插件之前始终检查是否所有控制平面实例都已完成升级。 - 此行为适用于 `kubeadm upgrade apply` 和 `kubeadm upgrade node`。 - kubeadm 通过检查 kube-apiserver Pod 的镜像来确定控制平面实例是否已升级。 - 你必须按顺序执行控制平面实例的升级, - 或者至少确保在所有其他控制平面实例完全升级之前不启动最后一个控制平面实例的升级, - 并且在最后一个控制平面实例升级完成后再执行插件的升级。 - 这个弃用的 `UpgradeAddonsBeforeControlPlane` 特性门控使你有机会保留旧的升级行为。 - 你不应该需要这种旧的行为;如果确实需要,请考虑更改集群或升级流程, - 因为此特性门控将在未来的版本中被移除。 +`RootlessControlPlane` +: 设置此标志来配置 kubeadm 所部署的控制平面组件中的静态 Pod 容器 + `kube-apiserver`、`kube-controller-manager`、`kube-scheduler` 和 `etcd` + 以非 root 用户身份运行。如果未设置该标志,则这些组件以 root 身份运行。 + 你可以在升级到更新版本的 Kubernetes 之前更改此特性门控的值。 {{< table caption="kubeadm 已移除的特性门控" >}} @@ -462,6 +435,7 @@ Feature | Alpha | Beta | GA | Removed :-------|:------|:-----|:---|:------- `IPv6DualStack` | 1.16 | 1.21 | 1.23 | 1.24 `UnversionedKubeletConfigMap` | 1.22 | 1.23 | 1.25 | 1.26 +`UpgradeAddonsBeforeControlPlane` | 1.28 | - | - | 1.31 {{< /table >}} +`UpgradeAddonsBeforeControlPlane` +: 此特性门控已被移除。它在 v1.28 中作为一个已弃用的特性被引入,在 v1.31 中被移除。 + 有关旧版本的文档,请切换到相应的网站版本。 + 在使用 `--config` -传递[配置文件](/zh-cn/docs/reference/config-api/kubeadm-config.v1beta3/)时, +传递[配置文件](/zh-cn/docs/reference/config-api/kubeadm-config.v1beta4/)时, 可以在 `InitConfiguration` 中提供预定义的 `certificateKey`。 {{< /note >}}