您可以通过容器服务Kubernetes版ACK(Container Service for Kubernetes)控制台,可视化地升级您节点上的安全沙箱运行时。本文介绍安全沙箱运行时的升级原理、注意事项以及如何升级安全沙箱运行时。

功能原理

  • 升级流程及状态转换
    当您执行升级操作后,系统会在后台创建并执行对应的升级任务,升级任务会自动分批次地向需要升级运行时的节点下发并执行升级Pod。在升级过程中,您可以根据需要,暂停、恢复甚至取消当前任务,如下图所示。升级图
    • 当您单击升级按钮后,升级任务进入升级状态。
    • 您可以暂停升级状态的任务,任务进入暂停状态。
    • 您可以恢复暂停状态的任务,任务重新进入升级状态。
    • 您也可以取消暂停状态的任务,任务进入取消状态。
  • 升级策略
    运行时升级采用的是分批升级的策略,具体如下:
    • 第一批升级的节点数为1,后续的批次以2的幂数进行增长。暂停后重新恢复升级的第一批次为1,后续也是以2的幂数进行增长。
    • 每一批节点的最大数量不会超过需要升级运行时节点总数的10%。
    假如集群中,有50个节点的运行时可以升级,当您触发升级后:
    • 第一批次升级1个节点的运行时。
    • 第二批次升级2个节点的运行时。
    • 第三批次升级4个节点的运行时。
    • 第四批次升级5个节点的运行时(虽然23=8,但是集群只有50个节点,每批次最大为50×10%=5)。
    • 第五批次升级5个节点的运行时。
    • 以此类推。
  • 暂停升级
    通过升级暂停功能,您可以在运行时升级的任意阶段对升级任务进行暂停。说明如下:
    • 暂停升级之后,当前批次已经开始升级的目标节点会继续执行运行时升级,还未开始升级的节点不会开始升级。
    • 运行时升级处于暂停状态时,集群也处于中间状态,建议您不要在此时对集群进行操作,并尽快完成升级过程。
    • 当您触发暂停时,系统会自动判断是否还有需要升级的目标节点,如果没有,则暂停无效,升级任务正常结束。

    您可以在运行时升级成功暂停之后,单击继续恢复当前的升级任务。

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

  • 取消升级
    您可以在暂停升级后,单击取消,对本次运行时升级任务进行取消操作。说明如下:
    • 取消升级之后,当前批次已经开始升级的目标节点会继续执行运行时升级,还未开始升级的节点不会开始升级。
    • 已经完成运行时升级的节点无法撤销升级逻辑。

注意事项

  • 运行时升级需要节点具备公网访问能力,以便下载升级所需的软件包。
  • 运行时升级过程中,可能会有升级失败的情况,为了您的数据安全,强烈建议您先打快照然后再升级。
  • 运行时升级过程中,集群中的应用不会中断。推荐您关注运行时版本的发布记录来决定是否需要重新发布应用,请参见安全沙箱运行时变更记录
  • 运行时升级过程中您可以在一批节点升级完成后暂停,此时整个集群处于升级的中间状态,建议您尽快完成升级过程。处于中间状态的升级任务会在15日之后关闭升级,同时清理一切升级相关的事件和日志信息。
  • 请勿在运行时升级过程中添加或者删除节点。如果确实需要添加或者删除节点,请先取消升级。
  • 运行时升级过程中,如非发生错误,请勿修改runtime-upgrade命名空间下面的相关资源。
  • 如运行时升级失败,升级过程会暂停。您需要分析失败原因并清理runtime-upgrade命名空间下失败的Pod,确认修复成功后继续升级过程。
    注意 即使发生失败也不需要删除或修改runtime-upgrade命名空间下面的除Pod外的其他资源。如需帮助,请联系在线客服。

操作步骤

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页面中,选择运维管理 > 运行时升级
  5. 运行时升级页面,单击升级
  6. 在弹出的对话框中,单击确定
    如果您需要暂停升级任务,单击暂停。任务暂停后,如果需要恢复或者取消升级,单击继续或者取消继续或者取消
    单击升级或者继续后,您可以在事件列表中查看操作内容。事件列表

执行结果

升级成功后,当您刷新页面或者重新进入时,已经升级的运行时不再显示待升级的列表中。