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

相关推荐
浩浩测试一下1 小时前
Linux 底层知识点 1
linux·运维·服务器
Escalating_xu2 小时前
【Linux 网络编程】TCP 跨平台实战:用 Windows 客户端访问 Linux 服务器
linux·服务器·网络
忆挽篱笙歌3 小时前
环境变量,本地变量
linux·运维·服务器
吹什么轩5 小时前
linux系统复习:僵尸进程与孤儿进程
linux·运维·php
jonyleek6 小时前
JVS数字底座私有化部署实践:Spring Cloud + K8S 实现文档平台开箱即用
elasticsearch·kubernetes·私有化部署·springcloud·minio·jvs企业文档·文档治理
殷忆枫6 小时前
告别依赖地狱!在 Ubuntu 上用 Docker 极速部署 Home Assistant 与 MQTT,并接入 Siri 与嵌入式 C 终端
linux·ubuntu·docker
第404号工位6 小时前
手机到底有没有偷听我们?我抓包了 72 小时,抓到了真凶
linux·人工智能·架构
字节跳动开源6 小时前
ByteDance 2026 上半年 Linux 内核贡献回顾
linux·开源
小此方6 小时前
Linux网络(二十八):从NAT转换到正反向代理:图解内网通信、NAPT端口映射
linux·运维·网络
刚入门的大一新生7 小时前
Linux-进程池
linux·运维·服务器