升級 Linux 節點

本頁面解釋如何升級使用 kubeadm 建立的 Linux 工作節點。

準備工作

你需要擁有所有節點的 shell 訪問許可權,並且 kubectl 命令列工具必須配置為與你的叢集通訊。建議在至少有兩個不作為控制平面主機的節點的叢集上執行本教程。

要檢查版本,請輸入 kubectl version

更改軟體包倉庫

如果你正在使用社群擁有的軟體包倉庫(pkgs.k8s.io),則需要為所需的 Kubernetes 次要版本啟用軟體包倉庫。這在更改 Kubernetes 軟體包倉庫文件中有解釋。

升級工作節點

升級 kubeadm

升級 kubeadm

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

# replace x in 1.34.x-* with the latest patch version
sudo yum install -y kubeadm-'1.34.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.34.x-* with the latest patch version
    sudo apt-mark unhold kubelet kubectl && \
    sudo apt-get update && sudo apt-get install -y kubelet='1.34.x-*' kubectl='1.34.x-*' && \
    sudo apt-mark hold kubelet kubectl
    

    # replace x in 1.34.x-* with the latest patch version
    sudo yum install -y kubelet-'1.34.x-*' kubectl-'1.34.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 年 9 月 13 日下午 4:59 PST:重組 kubeadm 節點任務 (c8bb00db5d)