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