1. 程式人生 > >使用kubeadm將Kubernetes叢集從1.6版本升級到1.7_Kubernetes中文社群

使用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可能有自己的升級說明。檢視

附件頁面查詢你的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