Kubernetes跨版本升级1.19到1.22
文章目录1. 前言2. 从1.19升级到1.202.1 master节点升级2.1.1 使用yum list 查看可升级版本2.1.2 下载安装kubeadm2.1.3 下载安装kubelet & kubectl2.2 升级node节点2.2.1 排空node节点2.2.2 升级kubeadm2.2.3 升级node节点上的kubelet & kubectl2.2.4 取消对节点的
·
文章目录
1. 前言
Kubernetes是不可以进行跨版本升级的,只能一个版本一个版本的升级,本文从1.19版本升级到1.22版本。
主要参考官网文档:Upgrading kubeadm clusters
2. 从1.19升级到1.20
2.1 master节点升级
2.1.1 使用yum list 查看可升级版本
yum list --showduplicates kubeadm --disableexcludes=kubernetes
# find the latest 1.20 version in the list
# it should look like 1.20.x-0, where x is the latest patch
2.1.2 下载安装kubeadm
下载:
# replace x in 1.20.x-0 with the latest patch version
yum install -y kubeadm-1.20.x-0 --disableexcludes=kubernetes
验证:
kubeadm version
排空master节点:
通过将节点标记为不可调度并驱逐工作负载来准备节点进行维护,将pod优雅的中止
kubectl drain <master-name> --ignore-daemonsets
验证升级计划:
kubeadm upgrade plan
选择要升级的版本:
sudo kubeadm upgrade apply v1.20.x
更新Kubeadm:
同时更新apiserver 、controller-manager、scheduler、proxy、etcd、coredns
sudo kubeadm upgrade node
2.1.3 下载安装kubelet & kubectl
安装:
yum install -y kubelet-1.20.x-0 kubectl-1.20.x-0 --disableexcludes=kubernetes
重启:
sudo systemctl daemon-reload
sudo systemctl restart kubelet
2.2 升级node节点
2.2.1 排空node节点
在master上执行:
kubectl drain <node-name> --ignore-daemonsets
2.2.2 下载kubeadm
在node节点上执行:
yum install -y kubeadm-1.20.x-0 --disableexcludes=kubernetes
更新Kubeadm:
sudo kubeadm upgrade node
2.2.3 升级node节点上的kubelet & kubectl
在node节点上执行:
yum install -y kubelet-1.20.x-0 kubectl-1.20.x-0 --disableexcludes=kubernetes
重启:
sudo systemctl daemon-reload
sudo systemctl restart kubelet
2.2.4 取消对节点的保护
在master节点上运行:
通过将节点标记为可调度,让节点重新上线
kubectl uncordon <node-to-drain>
2.3 验证
kubectl get nodes
3. 从1.20升级到1.21
同上步骤只需更改版本号
4. 从1.21升级到1.22
同上步骤只需更改版本号
更多推荐
已为社区贡献4条内容
所有评论(0)