您可以通过容器服务管理控制台,可视化升级集群的Kubernetes版本。您可以在Kubernetes集群列表页面查看集群的Kubernetes版本,以及当前是否有新的版本可供升级。升级集群的过程包含升级前置检查、升级Master(专有版会展示当前正在升级的Master编号)、升级Node(会展示已经升级的节点数和总节点数)。

功能原理

下面主要为您介绍集群升级过程中的相关功能及实现原理。功能原理
  • 集群升级策略
    集群升级策略定义了您将使用怎样的策略对集群进行升级。目前默认策略为分批升级。分批升级会在升级Node阶段对集群内的节点进行分批升级。其具体策略为:
    • 第一批升级的节点数为1,后续的批次以2的幂数进行增长。暂停后重新恢复升级的第一批次为1,后续也是以2的幂数进行增长。
    • 每一批节点的最大数量不会超过节点总数的10%。
  • 集群升级前置检查

    在您开始集群升级之后,ACK会为您自动启动集群升级前置检查。该检查会对集群进行多项健康检查,以确保您的集群可以顺利的完成此次升级。

    如果您的集群存在不合理配置或者潜在风险,则无法通过前置检查,如下图所示。
    单击查看详情按钮。跳转到集群运维页面,查看具体的失败原因。查看报错
    说明
    • 如果遇到前置检查失败请自行修复,或者提交工单
    • 升级检查仅针对集群升级前进行的前置检查,即使不通过也不会影响当前集群的运行及集群状态。
    • 如果您的集群顺利通过升级检查。则可以进入集群升级环节。
  • 集群升级暂停
    通过集群升级暂停功能,您可以在集群升级的任意阶段对其升级进程进行暂停。
    说明
    • 暂停升级之后,当前批次已经开始升级的节点会完成升级。还未开始升级的节点不会升级。
    • 集群暂停状态为集群升级的中间状态,建议您不要在此时对集群进行操作,并尽快完成升级过程。

    您可以在集群成功暂停之后,单击继续,恢复集群的升级进程。

    如果集群升级过程中发生错误,集群升级进程会被系统所暂停。具体失败原因会展示在页面下方详情中。您可根据报错进行排查或者提交工单

  • 集群升级取消
    您可以在暂停升级后,单击取消,对本次升级进行取消操作。
    说明
    • 取消升级之后,当前批次已经开始升级的节点会完成升级。还未开始升级的节点不会升级。
    • 已经完成升级的节点不受影响。

注意事项

  • 集群升级需要机器可以公网访问,以便下载升级所需的软件包。
  • 集群升级Kubernetes过程中,可能会有升级失败的情况,为了您的数据安全,强烈建议您先打快照然后再升级。有关ECS打快照的操作,请参见创建普通快照
  • 集群升级Kubernetes过程中,集群上的应用不会中断。如果应用强依赖于API Server可能会有短暂影响。
  • 由于老版本的FlexVolume(v1.11.2.5及以前)挂载的OSS卷在升级的时候会重新挂载,使用OSS卷的Pod在集群升级后需要重建。
  • 如果您对Kubernetes集群有过任何的配置更改(例如打开了swap分区),则升级过程有可能失败。
  • 集群升级过程中您可以在一批节点升级完成后中断进程,此时集群处于升级的中间状态,建议您不要对集群进行操作,并尽快完成升级过程。处于中间状态的集群会在15日之后关闭升级过程,同时清理一切升级相关的事件和日志信息。
  • 集群升级过程中,如非发生错误,请勿修改kube-upgrade命名空间下面的相关资源。
  • 如果集群升级失败,升级过程会暂停,您需要分析失败原因并清理kube-upgrade命名空间下失败的Pod,确认修复成功后重启升级过程。如需帮助,请联系在线客服。
  • 在完成Kubernetes集群升级后,请您同步升级您本地的kubectl版本。如果未及时升级,在使用本地kubectl的过程中可能会因为与集群API Server版本不同,发生类似invalid object doesn't have additional properties的报错。
  • 在升级到Kubernetes v1.14之前,检查是否做了对应配置,排除访问LoadBalancer暴露出去的SLB地址不通的风险,请参见Kubernetes集群中访问LoadBalancer暴露的SLB地址不通

准备工作

说明 如果您在非生产环境中有待升级的集群,强烈建议您先对该集群进行升级验证,再在生产环境中启动集群升级。

请在集群升级前检查集群的健康状况,确保集群已具备升级条件。

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,选择目标集群,并在目标集群右侧的操作列下,选择更多 > 集群检查
  4. 容器服务运维中心页左侧导航栏中,选择评测 > 升级检查
  5. 升级检查页面,单击执行升级检查
  6. 在弹出的升级检查页面,选中注意事项后,单击执行检查
    检查完成后,单击查看详情

    当检查报告中检查结果正常时,表示升级检查成功,您可以进行集群升级操作。

如果检查结果异常可以自行修复,也可以通过提交工单,请阿里云工程师协助修复。

操作步骤

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面,选择目标集群,并在目标集群右侧操作列下,选择更多 > 集群升级
  4. 单击升级
  5. 弹出升级提示页面,单击确定
    此时,您可以可视化的看到升级的全过程。
    说明
    • 如果在升级到某个阶段您需要暂停升级时,您可以通过单击暂停,暂停集群的升级进程。
    • 如果您需要取消集群升级,可以在暂停升级后,单击取消,取消对该集群的升级。

升级完成后,您可以在Kubernetes集群列表页面查看集群Kubernetes的版本,确认升级成功。