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版本已确认升级

相关推荐
顺风尿一寸2 小时前
Java Socket 内核之旅:从 SocketChannel.read() 到 tcp_recvmsg 与 epoll 的完整调用链路
linux
lichenyang4538 小时前
Docker 学习笔记(四):Dockerfile,把项目打成自己的镜像
docker·容器
lichenyang4538 小时前
Docker 学习笔记(三):Docker 网络、bridge、子网和容器互通
docker·容器
lichenyang4538 小时前
Docker 学习笔记(二):docker run 的参数到底在控制什么?
docker·容器
XIAOHEZIcode8 小时前
Ubuntu 终端美化全栈指南:Bash 到 Kitty 踩坑实录
linux·ubuntu·命令行
唐青枫10 小时前
别再只会用 cron:Linux systemd Timer 定时任务实战详解
linux
AlfredZhao2 天前
生产环境里,为什么不建议把普通端口直接暴露到公网?
linux·https·443·80
运维开发故事3 天前
基于 Arthas 的多集群在线诊断系统设计与实现
kubernetes
戴为沐3 天前
Linux内存扩容指南
linux
zylyehuo4 天前
Linux 彻底且安全地删除文件
linux