kubernets集群升级
1、环境介绍
操作系统:centos 7.9
kubernetes版本:v1.23
kubelet kubeadm kubectl版本:1.23.4
containerd版本:1.4.13
升级版本:v1.24.6–>v1.25.2
注意:使用kubeadm config升级失败,随改成逐级升级
网络插件calico:3.22.1->3.24.1
2、kubernetes安装过程
参考
https://blog.csdn.net/zyj81092211/article/details/123333739
3、查看软件可用版本(下面记录升级到1.25.2版本,1.24.6版本过程一样)
yum list --showduplicates kubeadm --disableexcludes=kubernetes
4、升级控制节点
(1)升级第一个控制节点
yum install -y kubeadm-1.25.2-0 --disableexcludes=kubernetes
验证下载操作正常,并且 kubeadm 版本正确
kubeadm version
验证升级计划
kubeadm upgrade plan
升级到1.25.2版本
kubeadm upgrade apply v1.25.2
(2)升级其他控制节点
也是先升级kubeadm,确保kubeadm是对应版本
然后执行升级
kubeadm upgrade node
(3)升级 kubelet 和 kubectl
腾空节点
将 替换为你要腾空的控制面节点名称
kubectl drain <node-to-drain> --ignore-daemonsets
升级
yum install -y kubelet-1.25.2-0 kubectl-1.25.2-0 --disableexcludes=kubernetes
重启 kubelet
systemctl daemon-reload
systemctl restart kubelet
解除节点保护
将 替换为你的节点名称
kubectl uncordon <node-to-drain>
5、升级工作节点
(1)升级kubeadm
yum install -y kubeadm-1.25.2-0 --disableexcludes=kubernetes
(2)升级节点
kubeadm upgrade node
(3)升级 kubelet 和 kubectl
腾空节点
将 替换为你要腾空的控制面节点名称
kubectl drain <node-to-drain> --ignore-daemonsets
升级
yum install -y kubelet-1.25.2-0 kubectl-1.25.2-0 --disableexcludes=kubernetes
重启 kubelet
systemctl daemon-reload
systemctl restart kubelet
解除节点保护
将 替换为你的节点名称
kubectl uncordon <node-to-drain>
6、升级网络插件
下载配置文件
curl https://raw.githubusercontent.com/projectcalico/calico/v3.24.1/manifests/tigera-operator.yaml -O
升级
kubectl apply -f tigera-operator.yaml
7、验证
kubectl get nodes -o wide