您可以通过容器服务Kubernetes版ACK(Container Service for Kubernetes)控制台,可视化地升级您节点上的安全沙箱运行时。本文介绍安全沙箱运行时的升级原理、注意事项以及如何升级安全沙箱运行时。
使用限制
仅当您的集群为安全容器集群时,才可以使用容器运行时升级功能。
注意事项
运行时升级需要节点具备公网访问能力,以便下载升级所需的软件包。
运行时升级过程中,可能会有升级失败的情况,为了您的数据安全,强烈建议您先打快照然后再升级。
运行时升级过程中,集群中的应用不会中断。推荐您关注运行时版本的发布记录来决定是否需要重新发布应用,请参见安全沙箱运行时发布记录。
运行时升级过程中您可以在一批节点升级完成后暂停,此时整个集群处于升级的中间状态,建议您尽快完成升级过程。处于中间状态的升级任务会在15日之后关闭升级,同时清理一切升级相关的事件和日志信息。
请勿在运行时升级过程中添加或者删除节点。如果确实需要添加或者删除节点,请先取消升级。
运行时升级过程中,如非发生错误,请勿修改runtime-upgrade命名空间下面的相关资源。
如运行时升级失败,升级过程会暂停。您需要分析失败原因并清理runtime-upgrade命名空间下失败的Pod,确认修复成功后继续升级过程。
重要即使发生失败也不需要删除或修改runtime-upgrade命名空间下面的除Pod外的其他资源。如需帮助,请联系在线客服。
功能原理
升级流程及状态转换
当您执行升级操作后,系统会在后台创建并执行对应的升级任务,升级任务会自动分批次地向需要升级运行时的节点下发并执行升级Pod。在升级过程中,您可以根据需要,暂停、恢复甚至取消当前任务,如下图所示。
当您单击升级按钮后,升级任务进入升级状态。
您可以暂停升级状态的任务,任务进入暂停状态。
您可以恢复暂停状态的任务,任务重新进入升级状态。
您也可以取消暂停状态的任务,任务进入取消状态。
升级策略
运行时升级采用的是分批升级的策略,具体如下:
第一批升级的节点数为1,后续的批次以2的幂数进行增长。暂停后重新恢复升级的第一批次为1,后续也是以2的幂数进行增长。
每一批节点的最大数量不会超过需要升级运行时节点总数的10%。
假如集群中,有50个节点的运行时可以升级,当您触发升级后:
第一批次升级1个节点的运行时。
第二批次升级2个节点的运行时。
第三批次升级4个节点的运行时。
第四批次升级5个节点的运行时(虽然23=8,但是集群只有50个节点,每批次最大为50×10%=5)。
第五批次升级5个节点的运行时。
以此类推。
暂停升级
通过升级暂停功能,您可以在运行时升级的任意阶段对升级任务进行暂停。说明如下:
暂停升级之后,当前批次已经开始升级的目标节点会继续执行运行时升级,还未开始升级的节点不会开始升级。
运行时升级处于暂停状态时,集群也处于中间状态,建议您不要在此时对集群进行操作,并尽快完成升级过程。
当您触发暂停时,系统会自动判断是否还有需要升级的目标节点,如果没有,则暂停无效,升级任务正常结束。
您可以在运行时升级成功暂停之后,单击继续恢复当前的升级任务。
如果运行时升级过程中发生错误,运行时升级任务会被系统自动暂停。具体失败原因会展示在页面下方详情中。您可根据报错进行排查或者提交工单。
取消升级
您可以在暂停升级后,单击取消,对本次运行时升级任务进行取消操作。说明如下:
取消升级之后,当前批次已经开始升级的目标节点会继续执行运行时升级,还未开始升级的节点不会开始升级。
已经完成运行时升级的节点无法撤销升级逻辑。
操作步骤
- 登录容器服务管理控制台。
- 在控制台左侧导航栏,单击集群。
- 在集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情。
在集群管理页面中,选择。
说明仅在安全容器的集群中,才可以使用容器运行时升级功能。
在容器运行时升级页面,单击升级。
在弹出的对话框中,单击确定。
如果您需要暂停升级任务,单击暂停。任务暂停后,如果需要恢复或者取消升级,单击继续或者取消。
单击升级或者继续后,您可以在事件列表中查看操作内容。
执行结果
升级成功后,当您刷新页面或者重新进入时,已经升级的运行时不再显示待升级的列表中。