Kubernetes 升級記錄:從 1.16.3 升級至 1.17.0


參考官方文檔 Upgrading kubeadm clusters 在 ubuntu 18.04 上完成了升級,記錄一下升級步驟。

一、升級第一個 master 節點

apt-get 安裝 kubeadm 1.17.0

apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=1.17.0-00 && \
apt-mark hold kubeadm

放空當前節點($CP_NODE為當前升級的節點名稱)

kubectl drain $CP_NODE --ignore-daemonsets

升級前檢查

kubeadm upgrade plan

出現告警

[preflight] Running pre-flight checks.
	[WARNING CoreDNSUnsupportedPlugins]: there are unsupported plugins in the CoreDNS Corefile

通過 github 上 的 相關 issue 知道這個問題沒有影響,可以忽略。

use the --ignore-preflight-errors=CoreDNSUnsupportedPlugins while upgrading. The proxy plugin will be replaced to use forward automatically.

執行升級命令

kubeadm upgrade apply v1.17.0 --ignore-preflight-errors=CoreDNSUnsupportedPlugins

升級成功

[upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.17.0". Enjoy!

解除當前節點的放空狀態

kubectl uncordon $CP_NODE

二、升級其他 master 節點的 kubeadm

apt-get 安裝 kubeadm 1.17.0

apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=1.17.0-00 && \
apt-mark hold kubeadm

執行升級命令

kubeadm upgrade node

三、升級所有 master 節點的 kubelet 與 kubectl

執行升級命令

apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=1.17.0-00 kubectl=1.17.0-00 && \
apt-mark hold kubelet kubectl && \
systemctl restart kubelet

四、升級 worker 節點的 kubeadm 以及 kubelet 與 kubectl

apt-get 安裝 kubeadm 1.17.0

apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=1.17.0-00 && \
apt-mark hold kubeadm

在 master 上放空所升級的 worker 節點

NODE=k8s-node4 && \
kubectl drain $NODE --ignore-daemonsets

在 worker 節點上執行升級命令

kubeadm upgrade node

在 worker 節點上升級 kubelet 與 kubectl

apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=1.17.0-00 kubectl=1.17.0-00 && \
apt-mark hold kubelet kubectl && \
systemctl restart kubelet

在 master 上解除 worker 節點的放空

kubectl uncordon $NODE

到此所有節點升級完成。

NAME          STATUS   ROLES    AGE   VERSION
k8s-master0   Ready    master   19d   v1.17.0
k8s-master1   Ready    master   19d   v1.17.0
k8s-master2   Ready    master   19d   v1.17.0
k8s-node3     Ready    <none>   22h   v1.17.0
k8s-node4     Ready    <none>   22h   v1.17.0
k8s-node5     Ready    <none>   28h   v1.17.0


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM