k8s1.19升级1.20

k8s1.19升级1.20

   小白     2022年6月7日 22:19     1968    

这里已经默认安装好了yum源,目前准备从1.19.3升级到1.20.8版本。

如果想从1.19.x升级到1.21或者1.22。需要一个版本一个版本的升级。

我们查看有哪些可用的安装包

yum list --showduplicates kubeadm --disableexcludes=kubernetes

通过上边的命令即可查看。

 

1、升级master

(1)首先在master的节点安装kubeadm

yum install -y kubeadm-1.20.8-0 --disableexcludes=kubernetes

安装完成后,查看版本

kubeadm version

 

(2)剔除master节点

kubectl drain k8s-master --ignore-daemonsets

这里的k8s-master是我的主节点的名称,这里根据自己的实际情况填写。

使用kubectl get node -A查看命令。

图片2.png 

 

(3)开始升级master

<1>验证升级计划

kubeadm upgrade plan

<2>进行升级1.20.8版本

kubeadm upgrade apply v1.20.8

<3>更新apiserver controller-managerschedulerproxyetcdcoredns

kubeadm upgrade node

<4>安装 kubectl kubelet

yum install -y kubelet-1.20.8-0 kubectl-1.20.8-0 --disableexcludes=kubernetes

<5>重启

systemctl daemon-reload

systemctl restart kubelet

 

2升级node节点

(1)master上执行以下命令,将node节点剔除

kubectl drain k8s-node1 --ignore-daemonsets

kubectl drain k8s-node2 --ignore-daemonsets

 

(2)node节点执行以下升级命令

安装kubeadm

yum install -y kubeadm-1.20.8-0 --disableexcludes=kubernetes

 

(3)开始升级node

<1>更新kubeadm

kubeadm upgrade node

<2>安装kubectl kubelet

yum install -y kubelet-1.20.8-0 kubectl-1.20.8-0 --disableexcludes=kubernetes

<3>重启

sudo systemctl daemon-reload sudo systemctl restart kubelet

 

3取消节点保护,恢复集群

master节点执行

kubectl uncordon k8s-master

kubectl uncordon k8s-node1

kubectl uncordon k8s-node2

 

4、问题

由于我这里安装了calico。在升级后,calicokube-controller无法启动。

这里由于版本升级,之前的calico安装文件中因版本不匹配导致无法启动。

重新安装calico

kubectl apply -f https://docs.projectcalico.org/archive/v3.20/manifests/calico.yaml

 

calico.txt


5、其他

1.20.x升级到1.21.x1.21.x升级到1.22.0,calico是可以启动的,没有遇到问题。

 


文章评论

0

其他文章