升级 Linux 节点

本页面介绍如何升级使用 kubeadm 创建的 Linux 工作节点。

开始之前

您需要具有所有节点的 shell 访问权限,并且 kubectl 命令行工具必须配置为与您的集群通信。建议在至少有两个节点不充当控制平面主机的集群上运行本教程。

要检查版本,请输入 kubectl version

更改软件包仓库

如果您使用的是社区拥有的软件包仓库 (pkgs.k8s.io),则需要为所需的 Kubernetes 次要版本启用软件包仓库。这在更改 Kubernetes 软件包仓库文档中进行了说明。

升级工作节点

升级 kubeadm

升级 kubeadm

# replace x in 1.30.x-* with the latest patch version
sudo apt-mark unhold kubeadm && \
sudo apt-get update && sudo apt-get install -y kubeadm='1.30.x-*' && \
sudo apt-mark hold kubeadm

# replace x in 1.30.x-* with the latest patch version
sudo yum install -y kubeadm-'1.30.x-*' --disableexcludes=kubernetes

调用“kubeadm upgrade”

对于工作节点,这将升级本地 kubelet 配置

sudo kubeadm upgrade node

排空节点

通过将节点标记为不可调度并驱逐工作负载来准备进行维护

# execute this command on a control plane node
# replace <node-to-drain> with the name of your node you are draining
kubectl drain <node-to-drain> --ignore-daemonsets

升级 kubelet 和 kubectl

  1. 升级 kubelet 和 kubectl

    # replace x in 1.30.x-* with the latest patch version
    sudo apt-mark unhold kubelet kubectl && \
    sudo apt-get update && sudo apt-get install -y kubelet='1.30.x-*' kubectl='1.30.x-*' && \
    sudo apt-mark hold kubelet kubectl
    

    # replace x in 1.30.x-* with the latest patch version
    sudo yum install -y kubelet-'1.30.x-*' kubectl-'1.30.x-*' --disableexcludes=kubernetes
    
  2. 重启 kubelet

    sudo systemctl daemon-reload
    sudo systemctl restart kubelet
    

取消节点的警戒状态

通过将节点标记为可调度来使其恢复在线状态

# execute this command on a control plane node
# replace <node-to-uncordon> with the name of your node
kubectl uncordon <node-to-uncordon>

后续步骤

上次修改时间:2024 年 4 月 4 日下午 5:27 PST:向节点升级集群任务添加 shell 访问先决条件 (7a91dcc078)