当前位置: 首页 > article >正文

k8s 小版本升级

众所周知k8s每一个月左右都会更新一次小版本所以在 Kubernetes 生态系统中,保持集群的版本更新是至关重要的。这不仅能够带来新的特性和改进,还能确保集群的安全性和稳定性。随着 Kubernetes 项目的快速发展,小版本的升级成为了集群维护的一个常规操作。

k8s集群:

我的版本是1.29.1 本次将k8s升级到1.29.2

一:配置软件源

我用的是ubuntu系统:

在/etc/apt/sources.list.d创建kubernetes.list文件

文件中配置是阿里云的软件源

deb [signed-by=/etc/apt/keyrings/kubernetes-apt-keyring.gpg] https://mirrors.aliyun.com/kubernetes-new/core/stable/v1.29/deb/ /

rhel系统:

sudo tee /etc/yum.repos.d/kubernetes.repo <<EOF
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF

这样配置即可

二:升级前准备

将k8s控制节点设置为SchedulingDisabled状态

kubectl drain master1  --ignore-daemonsets --force
    #--ignore-daemonsets: 忽略daemonset资源
    #--force  强制

执行完之后查看

kuberctl  get  nodes

三:master节点升级

先查看1.29.2的版本

apt-cache show kubeadm|grep 1.29.2

 1.29.2-1.1这个就是我们要升级的版本

解除apt包管理器对kubeadm包的锁定状态

因为默认是为了防止自动升级然后是锁定状态,现在我们要升级所以要解开

apt-mark unhold kubeadm 

升级软件包

apt-get  update

安装kubeadm1.29.2

apt-get  install  -y kubeadm='1.29.2-1.1'    

安装完之后继续锁定kubeadm软件包

apt-mark hold kubeadm

查看版本

kubeadm  version

可以看到kuberadm已经升级到了1.29.2

验证升级计划

kubeadm upgrade plan

选择升级的版本进行升级

kubeadm upgrade apply v1.29.2  --etcd-upgrade=false   

 --etcd-upgrade=false   #表示不升级etcd,etcd数据库还是单独升级比较稳妥一点

[upgrade/successful] SUCCESS! Your cluster was upgraded to "v1.29.2". Enjoy!

看到这个表示成功

升级kubectl 和kubelet

apt-mark unhold kubelet kubectl 
#解除锁定状态

apt-get update 
#升级软件包

apt-get install -y kubelet='1.29.2-1.1'  
安装kubelet 1.29.2版本

apt-get install -y kubelet='1.29.2-1.1'
安装kubectl 1.29.2版本

apt-mark hold kubelet kubectl
#锁定kubelet kubectl的软件包

重启kubelet,查看master节点版本

可以看到已经是v1.29.2了

将master恢复

kubectl  uncordon  master1

四:node节点升级

将node节点设置为SchedulingDisabled状态

kubectl drain node1 --ignore-daemonsets --force  

登录到node节点,进行操作

apt-mark unhold kubelet kubectl 
#解除锁定状态

apt-get update 
#升级软件包

apt-get install -y kubelet='1.29.2-1.1'  
安装kubelet 1.29.2版本

apt-get install -y kubelet='1.29.2-1.1'
安装kubectl 1.29.2版本

apt-mark hold kubelet kubectl
#锁定kubelet kubectl的软件包

systemctl daemon-reload
#重新加载 systemd 系统和服务管理器的配置

systemctl  restart  kubelet
#重启kubelet

登录到master节点,将node状态恢复

kubectl  uncordon  node1

五:查看状态

kubectl  get node

可以看到都已经到1.29.2

查看kube-system命名空间下的pod

也全是running状态


 


http://www.kler.cn/a/376969.html

相关文章:

  • 00000008_C并发编程与多线程
  • Linux pget 下载命令详解
  • QT自定义工具条渐变背景颜色一例
  • DeepSeek-V3与GPT-4o的对比详解
  • KCP解读:C#库类图
  • STM32供电参考设计
  • VS+Qt解决提升控件后,包含头文件格式不对问题处理
  • C++设计模式结构型模式———装饰模式
  • 房贷利率定价调整机制变更的一点理解
  • 数学建模学习(134):使用Python基于WISP的多准则决策分析
  • 练习LabVIEW第三十四题
  • 我们来学mysql -- 查询成本之索引选择(原理篇)
  • 政策推动下的少儿编程行业规范发展:从校外到校内的全方位布局
  • 金融标准体系
  • Verilog HDL基础
  • 【HarmonyOS Next】状态管理V2版本使用详解
  • 使用axios请求分页
  • Ollama 完整教程:本地 LLM 管理、WebUI 对话、Python/Java 客户端 API 应用
  • jupyter如何切换内核
  • Unity核心笔记
  • C++:二叉树进阶面试题
  • 【教程】Git 标准工作流
  • 尚硅谷react教程_扩展_stateHook
  • 25国考照片处理器使用流程图解❗
  • 整理 【 DBeaver 数据库管理工具 】的一些基础使用
  • 【PostgreSQL】pgsql | 字符串转日期