website/content/zh-cn/docs/tasks/administer-cluster/kubeadm/upgrading-linux-nodes.md

5.0 KiB
Raw Blame History

title content_type weight
升级 Linux 节点 task 100

本页讲述了如何升级用 kubeadm 创建的 Linux 工作节点。

{{% heading "prerequisites" %}}

{{< include "task-tutorial-prereqs.md" >}} {{< version-check >}}

更改软件包仓库

如果你正在使用社区自治的软件包仓库(pkgs.k8s.io 你需要启用所需的 Kubernetes 小版本的软件包仓库。 这一点在更改 Kubernetes 软件包仓库文档中有详细说明。

升级工作节点

升级 kubeadm

升级 kubeadm

{{< tabs name="k8s_install_kubeadm_worker_nodes" >}} {{% tab name="Ubuntu、Debian 或 HypriotOS" %}}

# 将 {{< skew currentVersion >}}.x-* 中的 x 替换为最新的补丁版本
apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm='{{< skew currentVersion >}}.x-*' && \
apt-mark hold kubeadm

{{% /tab %}} {{% tab name="CentOS、RHEL 或 Fedora" %}}

# 将 {{< skew currentVersion >}}.x-* 中的 x 替换为最新的补丁版本
yum install -y kubeadm-'{{< skew currentVersion >}}.x-*' --disableexcludes=kubernetes

{{% /tab %}} {{< /tabs >}}

执行 "kubeadm upgrade"

对于工作节点,下面的命令会升级本地的 kubelet 配置:

sudo kubeadm upgrade node

腾空节点

将节点标记为不可调度并驱逐所有负载,准备节点的维护:

# 将 <node-to-drain> 替换为你正腾空的节点的名称
kubectl drain <node-to-drain> --ignore-daemonsets

升级 kubelet 和 kubectl

  1. 升级 kubelet 和 kubectl:

    {{< tabs name="k8s_kubelet_and_kubectl" >}} {{% tab name="Ubuntu、Debian 或 HypriotOS" %}}

    # 将 {{< skew currentVersion >}}.x-* 中的 x 替换为最新的补丁版本
    apt-mark unhold kubelet kubectl && \
    apt-get update && apt-get install -y kubelet='{{< skew currentVersion >}}.x-*' kubectl='{{< skew currentVersion >}}.x-*' && \
    apt-mark hold kubelet kubectl
    

    {{% /tab %}} {{% tab name="CentOS、RHEL 或 Fedora" %}}

    # 将 {{< skew currentVersion >}}.x-* 中的 x 替换为最新的补丁版本
    yum install -y kubelet-'{{< skew currentVersion >}}.x-*' kubectl-'{{< skew currentVersion >}}.x-*' --disableexcludes=kubernetes
    

    {{% /tab %}} {{< /tabs >}}

  1. 重启 kubelet

    sudo systemctl daemon-reload
    sudo systemctl restart kubelet
    

取消对节点的保护

通过将节点标记为可调度,让节点重新上线:

# 将 <node-to-uncordon> 替换为你的节点名称
kubectl uncordon <node-to-uncordon>

{{% heading "whatsnext" %}}