集群配置
主机名 | 系统 | ip |
k8s-master | CentOS Linux release 7.4.1708 (Core) | 172.22.254.57 |
k8s-node1 | CentOS Linux release 7.4.1708 (Core) | 172.22.254.62 |
k8s-node2 | CentOS Linux release 7.4.1708 (Core) | 172.22.254.63 |
参考官方文档
参照:https://kubernetes.io/zh/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/
升级前准备
yum list --showduplicates kubeadm --disableexcludes=kubernetes
过以上命令查询到1.19当前最新版本是1.19.12-0版本。先升级k8s-master节点
升级k8s-master节点控制面
1.yum升级kubernetes插件
yum install kubeadm-1.19.12-0 kubelet-1.19.12-0 kubectl-1.19.12-0 --disableexcludes=kubernetes
2.腾空节点检查集群是否可以升级
依然算是温习drain命令:
kubectl drain k8s-master --ignore-daemonsets
kubeadm upgrade plan
3.升级版本到1.19.12
kubeadm upgrade apply 1.19.12
注意:特意强调一下work节点的版本也都是1.18.20了,没有出现夸更多版本的状况了
(base) [root@k8s-master ~]# systemctl daemon-reload
(base) [root@k8s-master ~]# systemctl restart kubelet
(base) [root@k8s-master ~]# kubectl uncordon k8s-master
node/k8s-master uncordoned
(base) [root@k8s-master ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 65d v1.19.12
k8s-node1 Ready <none> 65d v1.18.0
k8s-node2 Ready <none> 65d v1.18.0
4.注意
如果有多个控制节点的话,需要继续升级,若无则忽略,如下
yum install kubeadm-1.19.12-0 kubelet-1.19.12-0 kubectl-1.19.12-0 --disableexcludes=kubernetes
kubeadm upgrade node
systemctl daemon-reload
systemctl restart kubelet
升级k8s-node1-2work节点
yum install kubeadm-1.19.12-0 kubelet-1.19.12-0 kubectl-1.19.12-0 --disableexcludes=kubernetes
kubeadm upgrade node
systemctl daemon-reload
systemctl restart kubelet
验证升级
(base) [root@k8s-master ~]# kubectl get nodes
NAME STATUS ROLES AGE VERSION
k8s-master Ready master 65d v1.19.12
k8s-node1 Ready <none> 65d v1.19.12
k8s-node2 Ready <none> 65d v1.19.12