k8s CKA upgrade - Kubeadm 版本升级实测

升级版本最好是逐步去升级,不要跨越多个大版本,可能会出错

大体流程:

1.先确定升级版本

2.升级kubeadm

3.驱逐节点

4.升级kubelet和kubectl

5.重启kubelet服务

6.恢复节点,使其上线

1.查看现版本:升级版本

bash 复制代码
kubectl get nodes

当前版本1.16.2

2.执行如下命令确定升级版本

bash 复制代码
yum list --showduplicates kubeadm --disableexcludes=kubernetes

3.升级kubeadm

这里选择升级到1.17版本,升级一个版本

bash 复制代码
yum install -y kubeadm-1.17.2-0 --disableexcludes=kubernetes

4.查看kubeadm版本升级过了

bash 复制代码
kubeadm version

5.验证升级计划

检查当前集群是否可被升级,可升级到1.17.17

bash 复制代码
kubeadm upgrade plan

6.将目标升级到该版本

不升级etcd

bash 复制代码
kubeadm upgrade apply v1.17.2 --etcd-upgrade=false

7.当前节点标记为不可调度,并驱逐节点上的Pod

bash 复制代码
kubectl drain master --ignore-daemonsets

8.升级kubelet和kubectl组件

bash 复制代码
yum -y install kubelet-1.17.2-0 kubectl-1.17.2-0 --disableexcludes=kubernetes

9.重启kubelet

bash 复制代码
systemctl daemon-reload

systemctl restart kubelet

10.恢复当前节点上的Pod调度,使其上线

bash 复制代码
kubectl uncordon master

11.验证master版本已确认升级

相关推荐
小兔崽子去哪了16 分钟前
Docker 删除镜像后磁盘空间没有释放?
后端·docker·容器
bksczm1 小时前
linux之线程概念和控制
linux·开发语言·c++
爱网络爱Linux2 小时前
Linux proc 目录安全加固
linux·运维·rhce·rhca·红帽认证·proc 目录安全加固
hehelm2 小时前
Linux网络编程—TCP字典翻译系统
linux·开发语言·网络·c++·tcp/ip
MindUp2 小时前
企业网盘权限模型解析:多层级访问控制与审计能力选型指南
java·linux·运维
Zhu7582 小时前
在Docker环境部署ApacheGuacamole,对接PG数据库
数据库·docker·容器
ICECREAM2 小时前
环形队列设计——基于共享内存的高效进程间通信
linux
pt10432 小时前
思科网络自动化-API常用数据编码格式(JSON/XML/YAML)课程与实践
linux·服务器·网络
kdxiaojie2 小时前
Linux 驱动研究 —— I2C (5)
linux·运维·笔记·学习
少陽君3 小时前
Docker 部署 Loki + Promtail + Grafana 日志监控栈
docker·容器·grafana