我这里是想把集群1.20.0升级到1.20.4
在这里插入图片描述

升级master节点

查看可升级的最新稳定版本

sudo kubeadm upgrade plan

在这里插入图片描述

查看所有kubelet可安装版本

sudo apt-cache policy kubelet

在这里插入图片描述
通过上面命令可查到,详细的kubelet1.20.4版本是1.20.4-00

安装kubelet

sudo apt-get install kubeadm=1.20.4-00 kubectl=1.20.4-00 kubelet=1.20.4-00 -y

在这里插入图片描述
从上图可看出,安装完kubelet等组件之后,会自动升级

查看状态

现在知识kubelet升级完成,但是kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy未升级
在这里插入图片描述

全面升级

升级集群控制平面,升级kube-apiserver、kube-controller-manager、kube-scheduler、kube-proxy

sudo kubeadm upgrade apply v1.20.4

在这里插入图片描述
至此,服务端已经升级完成,需要注意的是,使用kubectl get node查看的版本号是kubelet的版本号

升级node节点

升级该node节点之前我这里需要修改成不被调度,并驱散该node节点上的pod

sudo kubectl cordon k8s-node1.lab.example.com
sudo kubectl drain k8s-node1.lab.example.com --ignore-daemonsets

在这里插入图片描述

下面开始升级节点kubelet版本号
我这里只升级node1节点,所以写的1..1

sudo for x in {1..1};do ssh k8s-node$x sudo apt-get \
install kubelet=1.20.4-00 -y;done

使用kubectl get node查看已经升级完成
在这里插入图片描述
升级完成后,恢复该节点可以被调度

sudo kubectl uncordon k8s-node1.lab.example.com

在这里插入图片描述
升级完成

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐