升级路线1.23.17--->1.24.17--->1.25.14--->1.26.9-→1.27.6
pause 容器对应版本3.6--->3.7--->3.7--->3.8--->3.9
三台master都执行
yum install -y kubeadm-1.24.17 --disableexcludes=kubernetes |
任一master执行验证集群能否升级
kubeadm upgrade plan |
master1上执行
执行升级命令(这一步需要等待)
kubeadm upgrade apply v1.24.17 |
master2上执行
kubeadm upgrade node |
master3上执行
kubeadm upgrade node |
master1上执行
kubectl drain d0-dev-master001 --ignore-daemonsets yum install -y kubelet-1.24.17 kubectl-1.24.17 --disableexcludes=kubernetes echo 'KUBELET_KUBEADM_ARGS="--container-runtime=remote --container-runtime-endpoint=unix:///run/containerd/containerd.sock --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.7"' >/var/lib/kubelet/kubeadm-flags.env systemctl daemon-reload systemctl restart kubelet kubectl uncordon d0-dev-master001 |
master2上执行
kubectl drain d0-dev-master002 --ignore-daemonsets yum install -y kubelet-1.24.17 kubectl-1.24.17 --disableexcludes=kubernetes echo 'KUBELET_KUBEADM_ARGS="--container-runtime=remote --container-runtime-endpoint=unix:///run/containerd/containerd.sock --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.7"' >/var/lib/kubelet/kubeadm-flags.env systemctl daemon-reload systemctl restart kubelet kubectl uncordon d0-dev-master002 |
master3上执行
kubectl drain d0-dev-master003 --ignore-daemonsets yum install -y kubelet-1.24.17 kubectl-1.24.17 --disableexcludes=kubernetes echo 'KUBELET_KUBEADM_ARGS="--container-runtime=remote --container-runtime-endpoint=unix:///run/containerd/containerd.sock --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.7"' >/var/lib/kubelet/kubeadm-flags.env systemctl daemon-reload systemctl restart kubelet kubectl uncordon d0-dev-master003 |
其它node上可以同时执行
yum install -y kubeadm-1.24.17 --disableexcludes=kubernetes kubeadm upgrade node |
任意master执行驱逐命令(这个要保证有pod可以有资源运行)
kubectl drain d0-dev-node001 --ignore-daemonsets |
node上执行
yum install -y kubelet-1.24.17 kubectl-1.24.17 --disableexcludes=kubernetes echo 'KUBELET_KUBEADM_ARGS="--container-runtime=remote --container-runtime-endpoint=unix:///run/containerd/containerd.sock --pod-infra-container-image=registry.aliyuncs.com/google_containers/pause:3.7"' >/var/lib/kubelet/kubeadm-flags.env systemctl daemon-reload systemctl restart kubelet |
任意master执行恢复调度
kubectl uncordon d0-dev-node001 |
注意:如果nide上有运行ceph集群的osd节点的话需要将osd节点先out待数据平衡完成之后才能停止容器runtime