你正在查看的文档所针对的是 Kubernetes 版本: v1.26

Kubernetes v1.26 版本的文档已不再维护。你现在看到的版本来自于一份静态的快照。如需查阅最新文档,请点击 最新版本。

升级 Linux 节点

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

准备开始

你必须拥有一个 Kubernetes 的集群,同时你的 Kubernetes 集群必须带有 kubectl 命令行工具。 建议在至少有两个节点的集群上运行本教程,且这些节点不作为控制平面主机。 如果你还没有集群,你可以通过 Minikube 构建一个你自己的集群,或者你可以使用下面任意一个 Kubernetes 工具构建:

要获知版本信息,请输入 kubectl version.

升级工作节点

升级 kubeadm

升级 kubeadm:

# 将 1.26.x-00 中的 x 替换为最新的补丁版本
apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=1.26.x-00 && \
apt-mark hold kubeadm

# 将 1.26.x-0 中的 x 替换为最新的补丁版本
yum install -y kubeadm-1.26.x-0 --disableexcludes=kubernetes

执行 "kubeadm upgrade"

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

    sudo kubeadm upgrade node
    

腾空节点

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

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

升级 kubelet 和 kubectl

  • 升级 kubelet 和 kubectl:

    # 将 1.26.x-00 中的 x 替换为最新的补丁版本
    apt-mark unhold kubelet kubectl && \
    apt-get update && apt-get install -y kubelet=1.26.x-00 kubectl=1.26.x-00 && \
    apt-mark hold kubelet kubectl
    

    # 将 1.26.x-0 中的 x 替换为最新的补丁版本
    yum install -y kubelet-1.26.x-0 kubectl-1.26.x-0 --disableexcludes=kubernetes
    

  • 重启 kubelet:

    sudo systemctl daemon-reload
    sudo systemctl restart kubelet
    

取消对节点的保护

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

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

接下来

最后修改 March 31, 2023 at 12:09 PM PST: [zh] sync /kubeadm/upgrading-linux-nodes.md (cb61d9d329)