下载想升级的k8s版本
apt-mark unhold kubeadm && \
apt-get update && apt-get install -y kubeadm=1.26.0-00 && \
apt-mark hold kubeadm
各节点下载镜像
sudo kubeadm config images pull --image-repository registry.aliyuncs.com/google_containers
编辑修改/etc/containerd/config.toml
sandbox_image = "registry.aliyuncs.com/google_containers/pause:3.9"
restart containerd
systemctl restart containerd.service
Verify the upgrade plan: —-first controller
kubeadm upgrade plan
Choose a version to upgrade to, and run the appropriate command. For example:—-first controller
# replace x with the patch version you picked for this upgrade
sudo kubeadm upgrade apply v1.26.0
For the other control plane nodes and work nodes
Same as the first control plane node but use:
sudo kubeadm upgrade node
驱逐本机节点
kubectl drain <node-to-drain> --ignore-daemonsets
升级kubectl和kubelet
apt-mark unhold kubelet kubectl && \
apt-get update && apt-get install -y kubelet=1.26.0-00 kubectl=1.26.0-00 && \
apt-mark hold kubelet kubectl
Restart the kubelet:
sudo systemctl daemon-reload
sudo systemctl restart kubelet
Uncordon the node
# replace <node-to-drain> with the name of your node
kubectl uncordon <node-to-drain>