# K8s 升级 一个版本一个版本的升级 不要跨多版本升级
master节点运行
# 列出yum支持下载的 kubeadm 版本号
yum list --showduplicates kubeadm --disableexcludes=kubernetes
# 安装升级版本的kubeadm
yum install -y kubeadm-1.2x.0-0 --disableexcludes=kubernetes
# 安全驱逐master节点的pod
kubectl drain k8s-master --ignore-daemonsets
yum install -y kubelet-1.23.0-0 kubectl-1.23.0-0
# 验证升级计划
kubeadm upgrade plan
# 升级kubeadm版本
sudo kubeadm upgrade apply v1.2x.0
# 更新kubeadm 资源
sudo kubeadm upgrade node
# 更新kubectl kubelet
yum install -y kubelet-1.2x.0-0 kubectl-1.2x.0-0 --disableexcludes=kubernetes
# 重新启动kubectl
sudo systemctl daemon-reload
sudo systemctl restart kubelet
# 查看master节点
kubectl get nodes
# 恢复master节点可调用
kubectl uncordon k8s-master
node节点运行
# 驱逐node节点
kubectl drain k8s-node1
# 安装与master节点相同版本
yum install -y kubeadm-1.2x.0-0 --disableexcludes=kubernetes
# 更新node节点的kubeadm
sudo kubeadm upgrade node
# 在node节点升级kubectl kubelet
yum install -y kubelet-1.2x.0-0 kubectl-1.2x.0-0 --disableexcludes=kubernetes
# 重新启动kubectl
sudo systemctl daemon-reload
sudo systemctl restart kubelet
# 在master节点恢复node节点的调度
kubectl uncordon k8s-node1