文档首页 > > 用户指南> 集群管理> 集群升级> 升级集群

升级集群

分享
更新时间: 2020/06/23 GMT+08:00

您可以通过云容器引擎管理控制台快速升级到Kubernetes最新版本或者bugfix版本,以支持新特性的使用。

注意事项

  • 升级属于不可逆操作、请谨慎进行。
  • 请在升级集群前,请查看集群状态是否均为健康状态。若集群不正常,您可以自行修复,若仍有问题请提交工单联系我们协助您进行修复。
  • 为了您的数据安全,强烈建议您先备份数据然后再升级,升级过程中不建议对集群进行任何操作。
  • 升级前,请详细阅读集群大版本升级说明

准备工作

请在集群升级前检查集群的健康状况,并且确保集群健康。

  1. 登录 Master 节点,具体请参见通过Kubectl连接集群
  2. 执行如下命令,确保所有模块都处于健康状态。

    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"}

  3. 执行如下命令,确保所有节点都处于 Ready 状态。

    kubectl get nodes

    所有节点只能Ready状态,不能包含其他状态。

     NAME                   STATUS    ROLES     AGE       VERSION
     cn-north-1a-xxx   Ready     master    38d       v1.9.7-r1
     cn-north-1a-xxx   Ready     <none>    38d       v1.9.7-r1
     cn-north-1a-xxx   Ready     <none>    38d       v1.9.7-r1
     cn-north-1a-xxx   Ready     <none>    38d       v1.9.7-r1
     cn-north-1a-xxx   Ready     master    38d       v1.9.7-r1
     cn-north-1a-xxx   Ready     master    38d       v1.9.7-r1

集群升级前排查项

在集群升级前,请根据如下Checklist进行排查,以便提前发现风险和问题。

表1 集群升级排查项

类别

检查项

集群

确认当前集群的Node IP(包括EIP),是否有作为其他的配置或者白名单等。

执行升级前预检查功能。

工作负载

记录工作负载的数量、工作负载状态,便于升级后对比。

针对您使用的数据库(例如云专线Redis、Mongdb等),要提前考虑白名单、路由或安全组策略变化等问题。

存储

记录存储状态,保证升级后存储不丢失。

网络

检查使用的负载均衡服务、Ingress,并做好备份。

针对使用云专线的业务场景,需重点关注业务所在节点或实例IP发生变化时,应提前在云专线开通路由。

插件

社区Kubernetes 1.9版本升级1.11版本时,集群的kube-dns会被卸载并替换为CoreDNS,请备份您配置在kube-dns中的DNS地址,以便在域名解析异常时重新在CoreDNS中进行配置。

运维

私有配置:在升级前的集群中检查是否在节点或容器中放置了数据面密码、证书、环境变量等配置,当容器重启(例如节点异常重新调度pod),会导致配置丢失,业务异常。

检查并备份内核参数或者系统配置。

操作步骤

本章节以将混合集群v1.9.10-r2升级到v1.13.10-r1版本为例进行说明,其他集群操作请参考本例。

  1. 登录云容器引擎管理控制台,单击左侧导航栏的“资源管理 > 集群管理”,在集群列表页面查看您的集群版本,本例以v1.9.10-r2版本的集群为例。

    若您的集群当前已是最新版本,则“集群升级”按钮为灰色不可用状态。

  2. 单击待升级集群后的“更多 > 集群升级”
  3. 在弹出的“升级前预检查”对话框中,单击开始检查
  4. 升级前预检查开始启动,在此过程中集群状态将显示为“升级中”,期间该集群不能进行新业务下发,运行中的业务不受影响,该过程将持续3-5分钟。
  5. 待升级前预检查的状态显示为“已完成”时,单击“去升级”
  6. 进入集群升级页面,确认基本信息后单击“下一步”

    集群升级页面会根据集群版本以及不同局点提供三种升级方式,三种方式的控制节点升级流程是一致的,用户节点的升级方式区别及优缺点如下:

    1. 平滑升级:

      方式: 采取传统软件升级方式,在用户节点按组件逐个进行升级。

      优点:用户介入的操作较少,等同于一键式升级。

      缺点:跨版本由于OS会升级,节点会重启,会有一段时间业务受损。

    2. 重置升级:

      方式:对用户节点使用最新的node镜像进行操作系统重置。

      优点:时间最短,用户介入操作也较少。

      缺点:如果节点上有数据或者配置,会丢失,同样会有一段时间业务受损。

    3. 灰度升级:

      方式:节点上只升级k8s组件以及网络部分组件,存量节点将全部打上SchedulingDisabled标签,仅保证原本运行的应用不受影响,升级完成后,用户还需手动新建节点,并逐步释放老节点,将应用逐步迁移到新节点上。

      优点:可以基本上保证业务不断。

      缺点:用户操作比较多。

  7. 进入升级插件步骤,选择所需要的升级模式单击右下角的“升级”
  8. 在弹出的集群升级对话框中阅读确认信息,集群升级后不可回退,确认后单击“确定”
  9. 您可以单击“返回集群管理”“查看集群详情”查看集群的升级状态。

    集群升级需要一段时间,请耐心等待。升级完成后,您可以在集群列表页面查看集群升级后的版本。

  10. 在集群列表页面中可以看到集群的状态为“升级中”,请耐心等待升级完成。
  11. 升级完成后,您可以在集群列表页面查看集群升级后的版本。

    图1 确认升级成功

  12. 确认升级完成后,请单击左侧导航栏的“插件管理”,在插件管理页面中确认所有插件是否升级完成,并且在ICAgent页面升级ICAgent
分享:

    相关文档

    相关产品

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

智能客服提问云社区提问