kops升级-1.11.1升级1.12.1&k8s升级1.12.10

本文档详细介绍了如何使用Kops工具升级Kubernetes集群,包括检查当前Kops版本,安装新版本,以及逐步升级Kubernetes集群的步骤。在升级过程中,强调了业务影响和耗时,并提供了实例展示升级过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

升级Kops

查看当前kops版本

[root@ip-172-24-33-22 ~]# kops version
Version 1.11.1 (git-0f2aa8d30)

安装新kops命令替换旧版本kops命令 

#删除旧kops
sudo rm -rf /usr/local/bin/kops
#建议使用mv命令备份 
#mv /usr/local/bin/kops /usr/local/bin/kops-$(kops version | awk '{print $2}')

#安装最新版本kops
#wget -O kops https://github.com/kubernetes/kops/releases/download/$(curl -s https://api.github.com/repos/kubernetes/kops/releases/latest | grep tag_name | cut -d '"' -f 4)/kops-linux-amd64

#安装1.12.3版本kops
wget -O kops https://github.com/kubernetes/kops/releases/download/1.12.3/kops-linux-amd64

#增加执行权限
chmod +x ./kops

sudo mv ./kops /usr/local/bin/

查看升级后kops版本

[root@ip-172-24-33-22 ~]# kops version
Version 1.12.3 (git-e55205471)

升级K8S集群

升级Kops认为稳定的kubernetes版本

对应关系在:kops/stable at master · kubernetes/kops · GitHubKubernetes Operations (kops) - Production Grade K8s Installation, Upgrades, and Management - kops/stable at master · kubernetes/kopshttps://github.com/kubernetes/kops/blob/master/channels/stable

其中包含内容有

1.kubernetes版本-启动EC2时使用的AMI镜像-对应关系

 

 2.kubernetes小版本号对应推荐的补丁版本号

如选择1.11的kubernetes时,推荐安装1.11.10

 3.kops小版本号对应推荐的补丁版本号

如选择kops1.11时,推荐安装kops1.11.1,对应kubernetes推荐1.11.10

 

Kops修改集群配置-升级K8S集群

使用 kOps 可以轻松升级 Kubernetes。可以使用kops edit命令修改kubernetesVersion参数,并将配置应用到整个集群。

#查看集群名称
kops get cluster

#修改集群配置
kops edit cluster $CLUSTER_NAME
#修改至 kubernetesVersion: 1.12.10

#查看&确认将会变更项
kops update cluster $NAME

#确认后,推送配置
kops update cluster $NAME --yes

#查看滚动更新集群将涉及哪些节点
kops rolling-update cluster $NAME

#执行滚动更新集群(POD会被从节点驱逐,节点将会被重建。谨慎操作)
kops rolling-update cluster $NAME --yes

执行kops rolling-update cluster $NAME时,会显示哪些节点需要更新。

第三列NEEDUPDATE是每个instancegroup中需要更新的节点数。其实可以看到是所有机器都需要被更新。

[root@ip-172-24-33-22 ~]# kops rolling-update cluster eukops-test-lq-auto.k8s.local
NAME			    STATUS		    NEEDUPDATE	READY	MIN	MAX	NODES
master-eu-west-3a-1	NeedsUpdate	        1		0	    1	 1	1
master-eu-west-3a-2	NeedsUpdate	        1		0	    1	 1	1
master-eu-west-3b-1	NeedsUpdate	        1		0	    1	 1	1
nodes			    NeedsUpdate	        1		0	    1	 1	1

Must specify --yes to rolling-update.

 升级后集群的版本

[root@ip-172-24-33-22 centos]# kubectl get node
NAME                                        STATUS   ROLES    AGE     VERSION
ip-172-31-0-42.eu-west-3.compute.internal   Ready    node     2m39s   v1.12.10
ip-172-31-0-5.eu-west-3.compute.internal    Ready    master   15m     v1.12.10
ip-172-31-0-51.eu-west-3.compute.internal   Ready    master   6m41s   v1.12.10
ip-172-31-0-7.eu-west-3.compute.internal    Ready    master   22m     v1.12.10

业务影响

升级期间会将节点依次从集群中剔除,所以需要谨慎操作。如果集群的node节点,在业务层面有实现高可用,单个node上POD被驱逐,且节点下线时,对业务不造成影响的话。则可以实现理论上的无业务影响的升级。

示例:升级时,原本3master的集群,1个master被从集群里移除,其他节点都还在。然后在升级完成后,新版本集群被加入集群。下一台master被停止调度,开始升级。

[root@ip-172-24-33-22 centos]# kubectl get node
NAME                                        STATUS   ROLES    AGE   VERSION
ip-172-31-0-10.eu-west-3.compute.internal   Ready    node     41d   v1.11.10
ip-172-31-0-28.eu-west-3.compute.internal   Ready    master   41d   v1.11.10
ip-172-31-0-42.eu-west-3.compute.internal   Ready    master   41d   v1.11.10

[root@ip-172-24-33-22 centos]# kubectl get node
NAME                                        STATUS                     ROLES    AGE   VERSION
ip-172-31-0-10.eu-west-3.compute.internal   Ready                      node     41d   v1.11.10
ip-172-31-0-28.eu-west-3.compute.internal   Ready,SchedulingDisabled   master   41d   v1.11.10
ip-172-31-0-42.eu-west-3.compute.internal   Ready                      master   41d   v1.11.10
ip-172-31-0-7.eu-west-3.compute.internal    Ready                      master   1m    v1.12.10

升级耗时

3master、1node的集群;单节更新平均耗时7分钟;总耗时30分钟。
 

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
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值