Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

pause 容器对应版本3.6--->3.7--->3.7--->3.8--->3.9

三台master都执行

Code Block
yum install -y kubeadm-1.24.17 --disableexcludes=kubernetes

任一master执行验证集群能否升级

Code Block
kubeadm upgrade plan

master1上执行
执行升级命令(这一步需要等待)

Code Block
kubeadm upgrade apply v1.24.17

master2上执行

Code Block
kubeadm upgrade node

master3上执行

Code Block
kubeadm upgrade node

master1上执行

Code Block
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上执行

Code Block
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
sed -i 's#sandbox_image = ".*"#sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.7"#' /etc/containerd/config.toml
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon d0-dev-master002

master3上执行

Code Block
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上可以同时执行

Code Block
yum install -y kubeadm-1.24.17 --disableexcludes=kubernetes
kubeadm upgrade node

任意master执行驱逐命令(这个要保证有pod可以有资源运行)

Code Block
kubectl drain d0-dev-node001 --ignore-daemonsets

node上执行

Code Block
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执行恢复调度

Code Block
kubectl uncordon d0-dev-node001

注意:如果nide上有运行ceph集群的osd节点的话需要将osd节点先out待数据平衡完成之后才能停止容器runtime