diff --git a/content/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md b/content/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md index 25f10b0fed..fdad20dfc4 100644 --- a/content/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md +++ b/content/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade.md @@ -72,16 +72,36 @@ The upgrade workflow at high level is the following: + ### 附加信息 -- 在对 kubelet 作次版本升版时需要[腾空节点](/zh/docs/tasks/administer-cluster/safely-drain-node/)。 - 对于控制面节点,其上可能运行着 CoreDNS Pods 或者其它非常重要的负载。 +- 下述说明了在升级过程中何时腾空每个节点。如果你正在对任何 kubelet 进行小版本升级, + 你需要先腾空待升级的节点(或多个节点)。对于控制面节点,其上可能运行着 CoreDNS Pods + 或者其它非常重要的负载。更多信息见[腾空节点](/zh/docs/tasks/administer-cluster/safely-drain-node/)。 - 升级后,因为容器规约的哈希值已更改,所有容器都会被重新启动。 + + +- 要验证 kubelet 服务在升级后是否成功重启,可以执行 `systemctl status kubelet` + 或 `journalctl -xeu kubelet` 查看服务日志。 +- 不建议使用 `kubeadm upgrade` 的 `--config 参数和 [kubeadm 配置 API 类型](/zh/docs/reference/config-api/kubeadm-config.v1beta3) + 来重新配置集群,这样会产生意想不到的结果。请按照[重新配置 kubeadm 集群](/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-reconfigure) + 中的步骤来进行。 + 一旦该命令结束,你应该会看到: - ``` + ```console [upgrade/successful] SUCCESS! Your cluster was upgraded to "v{{< skew currentVersion >}}.x". Enjoy! [upgrade/kubelet] Now that your control plane is upgraded, please proceed with upgrading your kubelets if you haven't already done so. @@ -259,7 +283,7 @@ Same as the first control plane node but use: --> 与第一个控制面节点相同,但是使用: -``` +```shell sudo kubeadm upgrade node ``` @@ -268,7 +292,7 @@ instead of: --> 而不是: -``` +```shell sudo kubeadm upgrade apply ``` @@ -299,34 +323,33 @@ Also calling `kubeadm upgrade plan` and upgrading the CNI provider plugin is no ### 升级 kubelet 和 kubectl -- 升级 kubelet 和 kubectl +- 升级 kubelet 和 kubectl: {{< tabs name="k8s_install_kubelet" >}} {{% tab name="Ubuntu、Debian 或 HypriotOS" %}} -
- # 用最新的补丁版本替换 {{< skew currentVersion >}}.x-00 中的 x - apt-mark unhold kubelet kubectl && \ - apt-get update && apt-get install -y kubelet={{< skew currentVersion >}}.x-00 kubectl={{< skew currentVersion >}}.x-00 && \ - apt-mark hold kubelet kubectl - - - # 从 apt-get 的 1.1 版本开始,你也可以使用下面的方法: - apt-get update && \ - apt-get install -y --allow-change-held-packages kubelet={{< skew currentVersion >}}.x-00 kubectl={{< skew currentVersion >}}.x-00 -+ ```shell + # 用最新的补丁版本替换 {{< skew currentVersion >}}.x-00 中的 x + apt-mark unhold kubelet kubectl && \ + apt-get update && apt-get install -y kubelet={{< skew currentVersion >}}.x-00 kubectl={{< skew currentVersion >}}.x-00 && \ + apt-mark hold kubelet kubectl + ``` + {{% /tab %}} {{% tab name="CentOS、RHEL 或 Fedora" %}} - -
- # 用最新的补丁版本号替换 {{< skew currentVersion >}}.x-00 中的 x - yum install -y kubelet-{{< skew currentVersion >}}.x-0 kubectl-{{< skew currentVersion >}}.x-0 --disableexcludes=kubernetes -+ + ```shell + # 用最新的补丁版本号替换 {{< skew currentVersion >}}.x-00 中的 x + yum install -y kubelet-{{< skew currentVersion >}}.x-0 kubectl-{{< skew currentVersion >}}.x-0 --disableexcludes=kubernetes + ``` + {{% /tab %}} {{< /tabs >}} +