升级集群
操作场景
您可以通过云容器引擎管理控制台快速升级到Kubernetes最新版本或者bugfix版本,以支持新特性的使用。
升级前,请先了解CCE各集群版本能够升级到的目标版本,以及升级方式和升级影响,详情请参见集群版本升级说明。
注意事项
- 集群升级属于不可逆操作,升级后无法回滚到之前版本,请谨慎进行。
- 请在升级集群前,请查看集群状态是否均为健康状态。若集群不正常,您可以自行修复,若仍有问题请提交工单联系我们协助您进行修复。
- 为了您的数据安全,强烈建议您先备份数据然后再升级,升级过程中不建议对集群进行任何操作。
- 升级前,请在CCE控制台中确认您的集群是否可以进行升级操作,确认方法:单击“资源管理 > 集群管理”,单击待升级集群右下方的“更多 > 集群升级”,若“集群升级”按钮为灰色不可点击状态,则该集群不可升级,更多详细信息请参见集群版本升级说明。

- 1.11及以下版本的集群升级到1.13版本的过程中,对集群有如下影响:
- 由于OS会升级,所有集群节点会重启,对应用有影响。
- 由于集群签名证书机制变更,所以会导致原本集群证书失效,请在升级完集群后重新获取证书或者kubeconfig文件。
- 1.13版本内升级时,集群上的应用只会在升级网络组件时有短暂中断。
- 社区Kubernetes 1.9版本升级1.11版本时,集群的kube-dns会被卸载并替换为CoreDNS,可能会导致原来配置在kube-dns中的级联DNS配置丢失或DNS服务短暂中断,请备份您配置在kube-dns中的DNS地址,以便在域名解析异常时重新在CoreDNS中进行配置。
前提条件
请在集群升级前检查集群和节点的健康状况,确保集群和节点正常可用。
检查方式一:控制台查看
在CC控制台中,单击左侧栏目树的“资源管理”,分别单击“集群管理”和“节点管理”,查看集群和节点的状态是否正常。
检查方式二:Kubectl命令查看
- 配置Kubectl命令,具体请参见通过Kubectl连接集群。
- 执行如下命令,确保集群的所有模块都处于健康状态。
kubectl get cs
命令行终端显示如下信息:NAME STATUS MESSAGE ERROR scheduler Healthy ok controller-manager Healthy ok etcd-0 Healthy {"health": "true"} etcd-1 Healthy {"health": "true"} etcd-2 Healthy {"health": "true"}
- 执行如下命令,确保所有节点都处于Ready状态。kubectl get nodes
所有节点只能Ready状态,不能包含其他状态。
NAME STATUS ROLES AGE VERSION cn-north-4a-xxx Ready master 38d v1.9.7-r1 cn-north-4a-xxx Ready <none> 38d v1.9.7-r1 cn-north-4a-xxx Ready <none> 38d v1.9.7-r1 cn-north-4a-xxx Ready <none> 38d v1.9.7-r1 cn-north-4a-xxx Ready master 38d v1.9.7-r1 cn-north-4a-xxx Ready master 38d v1.9.7-r1
集群升级前排查项
在集群升级前,请根据如下Checklist进行排查,以便提前发现风险和问题。
类别 |
检查项 |
---|---|
集群 |
确认当前集群的Node IP(包括EIP),是否有作为其他的配置或者白名单等。 |
执行升级前预检查功能。 |
|
工作负载 |
记录工作负载的数量、工作负载状态,便于升级后对比。 |
针对您使用的数据库(例如云专线Redis、Mongdb等),要提前考虑白名单、路由或安全组策略变化等问题。 |
|
存储 |
记录存储状态,保证升级后存储不丢失。 |
网络 |
检查使用的负载均衡服务、Ingress,并做好备份。 |
针对使用云专线的业务场景,需重点关注业务所在节点或实例IP发生变化时,应提前在云专线开通路由。 |
|
插件 |
社区Kubernetes 1.9版本升级1.11版本时,集群的kube-dns会被卸载并替换为CoreDNS,请备份您配置在kube-dns中的DNS地址,以便在域名解析异常时重新在CoreDNS中进行配置。 |
运维 |
私有配置:在升级前的集群中检查是否在节点或容器中放置了数据面密码、证书、环境变量等配置,当容器重启(例如节点异常重新调度pod),会导致配置丢失,业务异常。 |
检查并备份内核参数或者系统配置。 |
操作步骤
本章节以将混合集群v1.11.7-r2升级到v1.13.10-r1版本为例进行说明,其他集群操作请参考本例。
- 登录云容器引擎管理控制台,单击左侧导航栏的“资源管理 > 集群管理”,在集群列表页面查看您的集群版本,本例以v1.11.7-r2版本的集群为例。图1 升级集群
若您的集群当前已是最新版本,则“集群升级”按钮为灰色不可用状态。
- 单击待升级集群后的“更多 > 集群升级”。
- 在弹出的“升级前预检查”对话框中,单击“开始检查”。
- 升级前预检查开始启动,在此过程中集群状态将显示为“升级中”,期间该集群不能进行新业务下发,运行中的业务不受影响,该过程将持续3-5分钟。
- 待升级前预检查的状态显示为“已完成”时,单击“去升级”。
- 进入集群升级页面,确认基本信息后单击“下一步”。
- 进入升级插件步骤,选择所需要的升级模式单击右下角的“升级”。
- 在弹出的集群升级对话框中阅读确认信息,集群升级后不可回退,确认后单击“确定”。
- 您可以单击“返回集群管理”或“查看集群详情”查看集群的升级状态。
集群升级需要一段时间,请耐心等待。升级完成后,您可以在集群列表页面查看集群升级后的版本。
- 在集群列表页面中可以看到集群的状态为“升级中”,请耐心等待升级完成。
- 升级完成后,您可以在集群列表页面查看集群升级后的版本。图2 确认升级成功
- 确认升级完成后,请单击左侧导航栏的“插件管理”,在插件管理页面中确认所有插件是否升级完成,并且在ICAgent页面升级ICAgent。
