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

相关推荐
David爱编程几秒前
K8s 的 Namespace 到底解决了什么问题?
云原生·容器·kubernetes
婷儿z6 分钟前
Kubernetes 架构原理与集群环境部署
容器·架构·kubernetes
GOKORURI1 小时前
Podman + Nginx + Affine 踩坑教程
容器·教程·web
岚天start1 小时前
Kubernetes(k8s)中命令行查看Pod所属控制器之方法总结
kubernetes·k8s·pod·daemonset·deployment·statefulset
云途行者1 小时前
使用 docker 安装 openldap
运维·docker·容器
YuTaoShao1 小时前
【LeetCode 热题 100】994. 腐烂的橘子——BFS
java·linux·算法·leetcode·宽度优先
退役小学生呀1 小时前
十五、K8s可观测能力:日志收集
linux·云原生·容器·kubernetes·k8s
van叶~1 小时前
Linux探秘坊-------15.线程概念与控制
linux·运维·服务器
Andy杨3 小时前
20250718-5-Kubernetes 调度-Pod对象:重启策略+健康检查_笔记
笔记·容器·kubernetes
Andy杨4 小时前
20250718-1-Kubernetes 应用程序生命周期管理-应用部署、升级、弹性_笔记
linux·docker·容器