[TOC]node
文檔適用v1.12.x
升級到v1.13.y
或者1.13.x
升級到v1.13.y
api
第一臺master節點bash
# 首先升級kubeadm yum upgrade -y kubeadm --disableexcludes=kubernetes kubeadm version kubeadm upgrade plan node=master1 kubectl drain $node --ignore-daemonsets cd /etc/kubernetes/ kubectl -n kube-system get cm kubeadm-config -oyaml > kubeadm-config.yaml # 刪除etcd相關配置,添加全部的apiEndpoints kubectl edit configmap -n kube-system kubeadm-config kubeadm upgrade apply v1.13.4 \mv /etc/sysconfig/kubelet /tmp/ yum upgrade -y kubelet kubeadm kubectl --disableexcludes=kubernetes kubeadm upgrade node config --kubelet-version $(kubelet --version | cut -d ' ' -f 2) \mv /tmp/kubelet /etc/sysconfig/ systemctl daemon-reload systemctl restart kubelet systemctl status kubelet # 如下步驟若執行失敗,能夠其它master節點操做 kubectl uncordon $node kubectl get nodes
其它master節點app
# 上面操做中如下命令做相應替換 ## kubeadm upgrade apply v1.13.4 kubeadm upgrade node experimental-control-plane
一臺一臺master升級成功後,依次升級。ide
在master上操做:
禁止調度POD工具
node=node4 kubectl drain $node --ignore-daemonsets
在節點上操做:
升級命令工具和重啓kubelet。rest
\mv /etc/sysconfig/kubelet /tmp/ yum upgrade -y kubelet kubeadm --disableexcludes=kubernetes kubeadm upgrade node config --kubelet-version $(kubelet --version | cut -d ' ' -f 2) \mv /tmp/kubelet /etc/sysconfig/ systemctl daemon-reload systemctl restart kubelet systemctl status kubelet
在master上操做:
開啓POD調度code
node=node4 kubectl uncordon $node kubectl get nodes
一臺一臺node升級成功後,依次升級。文檔
參考資料:
[1] https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-ha-1-13/
[2] https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade-1-13/get