Versions Compared

Key

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

三台master都执行其中一台master执行

Code Block
yum install -y kubeadm-1.27.6* --disableexcludes=kubernetes

...

Code Block
kubeadm upgrade apply v1.27.6

其它master上执行

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

master1上执行master升级

Code Block
hostname=d0-dev-master001
kubectl drain $hostname --ignore-daemonsets
yum install -y kubelet-1.27.6* kubectl-1.27.6* --disableexcludes=kubernetes
sed -i 's#sandbox_image = ".*"#sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9"#' /etc/containerd/config.toml
echo '' >/var/lib/kubelet/kubeadm-flags.env
echo '' >/etc/sysconfig/kubelet
systemctl daemon-reload
systemctl restart containerd
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon $hostname

其它master上执行,多个master需要一个个执行

Code Block
hostname=d0-dev-master002
kubectl drain $hostname --ignore-daemonsets

等一台结束后通过kubectl get node查看对应的master是否已经变成v1.27.6,再去执行另外一台master,依次升级完所有master节点

node上升级

Code Block
yum install -y kubeadm-1.27.6* kubelet-1.27.6* kubectl-1.27.6 --disableexcludes=kubernetes*
kubeadm upgrade node
sed -i 's#sandbox_image = ".*"#sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9"#' /etc/containerd/config.toml echo '' >/var/lib/kubelet/kubeadm-flags.env
echo '' >/etc/sysconfig/kubelet systemctl daemon-reload
systemctl restart containerd
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon $hostname

其它node上可以同时执行

Code Block
hostname=d0-dev-node001
kubectl drain $hostname --ignore-daemonsets
kubeadm upgrade node
yum install -y kubelet-1.27.6 kubectl-1.27.6 --disableexcludes=kubernetes
sed -i 's#sandbox_image = ".*"#sandbox_image = "registry.cn-hangzhou.aliyuncs.com/google_containers/pause:3.9"#' /etc/containerd/config.toml echo '' >/var/lib/kubelet/kubeadm-flags.env
echo '' >/etc/sysconfig/kubelet 
systemctl daemon-reload
systemctl restart containerd
systemctl daemon-reload
systemctl restart kubelet
kubectl uncordon $hostname

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