一. 集群升级 v1.23.15----v1.24.0
官网地址: https://v1-24.docs.kubernetes.io/zh-cn/docs/tasks/administer-cluster/kubeadm/kubeadm-upgrade/
kubectl里边内嵌了Dockershim垫片,它通过垫片连接docker daemon引擎的,在通过引擎调用containerd,由containerd创建Pod的。
k8s从1.24版本开始移除了dockershim,所以需要安装cri-docker插件才能使用
二. cri-docker的安装及配置
1. master端和node端都下载安装包
2. 并编辑配置启动文件 vim /usr/lib/systemd/system/cri-docker.service
3. 重载和启动服务
三. 拉取升级所需要版本镜像并上传到仓库
四. 开始升级master端(k8s2)
1. 升级kubeadm
2. 执行升级
kubeadm upgrade plan
kubeadm upgrade apply v1.24.0
3. 腾空节点
kubectl drain k8s2 --ignore-daemonsets
4. 升级kubelet
yum install -y kubelet-1.24.0-0 kubectl-1.24.0-0
5. 配置kubelet使用cri-docker vim /var/lib/kubelet/kubeadm-flags.env
6. 修改节点套接字 kubectl edit nodes k8s2
7. 重启kubelet
systemctl daemon-reload
systemctl restart kubelet
8. 解除节点保护
kubectl uncordon k8s2
此时查看版本升级成功
五. 开始升级node端(k8s3/4)
1. 升级kubeadm
yum install -y kubeadm-1.24.0-0
2. 执行升级
kubectl drain k8s3/4 --ignore-daemonsets #需要在master节点执行
4. 升级kubelet
yum install -y kubelet-1.24.0-0 kubectl-1.24.0-0
5. 配置kubelet使用cri-docker vim /var/lib/kubelet/kubeadm-flags.env
6. 修改节点套接字
kubectl edit nodes k8s3/4 #需要在master节点执行
7. 重启kubelet
systemctl daemon-reload
systemctl restart kubelet
8. 解除节点保护
kubectl uncordon k8s3/4 #需要在master节点执行
此时查看全部升级成功
如节点较多 其他节点以此类推