使用kubeadm平滑地升級kubenetes集群(v1.10.2到v1.10.3)


寫在前面

kubernetes是目前最炙手火熱的容器管理、調度、編排平台,不僅擁有全面的生態系統,而且還開源、開放自治,誰貢獻的多,誰的話語權就大,雲提供商都有專門的工程師來從事kubernetes開源項目,其軟件的升級迭代非常快,今天我們就來談談如何使用kubeadm平滑地升級kubenetes集群到v1.10.3。

備注:kubeadm是一個快速構建kubernetes集群的工具。

查看目前集群版本


從上面可以看到,master節點kubelete版本低於woker節點,kubernetes的版本傾斜並不支持此情況,詳細原因如下:

基於這兩個原因,為了避免出現一些不必要的問題,所以決定立即升級集群。

檢視集群

檢查哪些版本可用於升級並驗證當前群集是否可升級。

kubeadm upgrade plan [flags]


上圖已經說得很清楚了,我們需要先升級kubeadm,然后才能升級control pannel,而kubeadm並不會自動安裝和管理kubelet、kubectl,所以我們需要手工完成這三個組件的升級。

升級kubeadm kubelet kubectl

yum install -y kubelet kubeadm kubectl

升級集群組件

kubeadm upgrade apply v1.10.3

升級網絡插件

kubernetes支持符合CNI規范的所有網絡插件,生產環境一般建議使用calico,其他網絡插件的升級大家可以自行去官網查看。

kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/rbac-kdd.yaml
kubectl apply -f https://docs.projectcalico.org/v3.1/getting-started/kubernetes/installation/hosted/kubernetes-datastore/calico-networking/1.7/calico.yaml

再次檢視集群



從上面可以看到,各個control pannel和組件都成功升級完成!!!

備注:命令執行后,可能一段時間kubectl get nodes看到的版本還是沒有改變,dashboard也處於僵死狀態,不要着急,等待大概20分鍾左右就好了,不過服務會很快恢復,基本用戶是無感知的。

延伸閱讀

https://kubernetes.io/docs/reference/setup-tools/kubeadm/kubeadm-upgrade
https://kubernetes.io/docs/tasks/tools/install-kubeadm
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm


免責聲明!

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



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