您可以通过容器服务管理控制台,可视化升级您集群的 Kubernetes 版本。升级集群的过程包含升级前置检查、升级Master(独占版会展示当前正在升级的 Master 编号)、升级 Node(会展示已经升级的节点数和总节点数)。

背景信息

您可以在 Kubernetes 集群列表页面查看您的集群的 Kubernetes 版本,以及当前是否有新的版本可供升级。
待升级版本

功能原理

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

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

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

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

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

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

注意事项

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

准备工作

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

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

  1. 登录容器服务管理控制台
  2. 单击集群 > 集群进入Kubernetes集群列表。在目标集群右侧操作列,单击更多 > 集群检查
  3. 在容器服务(集群运维)菜单下,单击左侧导航栏中的测评 > 升级检查
  4. 升级检查页面单击执行升级检查
  5. 在弹出升级检查页面,勾选注意事项后,单击执行检查
    升级集群
    检查完成后,单击查看详情
    当检查报告中检查结果正常时,表示升级检查成功,您可以进行集群升级操作。

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

操作步骤

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