升級 Linux 節點
本頁面解釋如何升級使用 kubeadm 建立的 Linux 工作節點。
準備工作
你需要擁有所有節點的 shell 訪問許可權,並且 kubectl 命令列工具必須配置為與你的叢集通訊。建議在至少有兩個不作為控制平面主機的節點的叢集上執行本教程。
要檢查版本,請輸入 kubectl version
。
- 請熟悉升級 kubeadm 叢集其餘部分的過程。在升級 Linux 工作節點之前,你將需要升級控制平面節點。
更改軟體包倉庫
如果你正在使用社群擁有的軟體包倉庫(pkgs.k8s.io
),則需要為所需的 Kubernetes 次要版本啟用軟體包倉庫。這在更改 Kubernetes 軟體包倉庫文件中有解釋。
注意: 舊版軟體包倉庫(
apt.kubernetes.io
和 yum.kubernetes.io
)已於 2023 年 9 月 13 日起棄用並凍結。強烈建議使用託管在 pkgs.k8s.io
的新軟體包倉庫,並且為了安裝 2023 年 9 月 13 日之後釋出的 Kubernetes 版本,這是必需的。 已棄用的舊版倉庫及其內容可能會在未來任何時候被移除,恕不另行通知。新的軟體包倉庫提供從 v1.24.0 開始的 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
升級 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
重啟 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>
下一步
- 檢視如何升級 Windows 節點。
上次修改時間為 2024 年 9 月 13 日下午 4:59 PST:重組 kubeadm 節點任務 (c8bb00db5d)