使用kubeadm將Kubernetes叢集從1.6版本升級到1.7_Kubernetes中文社群
本指南用於kubeadm將叢集從1.6.x版本升級到1.7.x版本。低於1.6的群集不支援升級,如果使用kubeadm Beta版本時,也不支援升級。
說明:本次升級將覆蓋由kubeadm管理的所有資源(靜態pod manifest檔案,kube-system namespace中的service accounts和RBAC規則等),叢集安裝後對資源的任何設定都可以在升級後重新複用,以確保升級不會影響kube-system namespace之外的其他靜態pod manifest檔案或物件 。
開始升級前
需要執行的Kubernetes叢集版本是1.6.x
在Master上
1、升級system packages
升級OS packages : kubectl,kubeadm,kubelet和kubernetes-cni。
在Debian上,可以通過以下方法實現:
sudo apt-get update sudo apt-get upgrade
在CentOS/Fedora上,可以執行:
sudo yum update
2、重新啟動kubelet:
sudo systemctl restart kubelet
雖然大部分元件會在下一步自動升級,但 kube-proxy目前需要手動刪除,以便在正確的版本中重新建立:
sudo KUBECONFIG=/etc/kubernetes/admin.conf kubectl delete daemonset kube-proxy -n kube-system
4、執行kubeadm升級。
警告:當啟動叢集時,傳遞給第一個kubeadm init的所有引數必須在升級-kubeadm init-command中指定。這個問題計劃在v1.8版本中解決。
sudo kubeadm init --skip-preflight-checks --kubernetes-version <DESIRED_VERSION>
例如,如果要升級到1.7.0,將執行:
sudo kubeadm init --skip-preflight-checks --kubernetes-version v1.7.0
5、升級CNI Provider
您的CNI Provider可能有自己的升級說明。檢視
在每個node上
1、升級system packages
升級OS packages : kubectl,kubeadm,kubelet和kubernetes-cni。
在Debian上,可以通過以下方式實現:
sudo apt-get update sudo apt-get upgrade
在CentOS/Fedora上,可以執行:
sudo yum update
2、重新啟動kubelet。
sudo systemctl restart kubelet