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状态


 

k8s 1.22版本升级是指将Kubernetes集群的版本从当前版本升级到1.22版本。Kubernetes是一个开源的容器编排平台,用于管理和部署容器化应用程序。每个Kubernetes版本都会带来一些新功能、改进和错误修复,升级到新版本可以使集群更稳定、性能更优化,并且让您能够使用最新的功能。以下是关于k8s 1.22版本升级的一些步骤和注意事项: 1.备份集群:在进行升级之前,务必备份Kubernetes集群的配置、数据和持久化存储。这样,在升级过程中出现意外情况时,可以从备份中恢复。 2.检查兼容性:在进行升级之前,确保已经阅读并理解了1.22版本的发布说明。检查集群中使用的所有组件,例如插件、网络驱动程序和存储插件,是否与新版本兼容。 3.创建升级计划:根据集群规模和复杂性,制定一个升级计划。考虑到集群中的节点数量、工作负载类型和重要性,决定是否在一个时间段内逐步升级或一次性完成升级。 4.执行升级:根据制定的升级计划,逐步或同时升级集群中的所有节点。这包括主节点和工作节点。通常,需要使用工具或命令行界面来执行升级操作,例如kubeadm、kops或kubespray。 5.验证升级:完成升级后,验证集群的正常运行。检查所有工作负载、服务和网络连接是否正常。如果出现问题,可以还原备份并排查故障。 6.更新应用程序:考虑到版本升级可能会导致一些应用程序不兼容或出现问题,及时跟踪和解决这些问题。根据需要,更新和重新部署应用程序。 总结起来,k8s 1.22版本升级需要备份、检查兼容性、创建升级计划、执行升级、验证升级和更新应用程序。这些步骤和注意事项可以帮助您成功地将Kubernetes集群升级到最新版本。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Source、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值