手动升级ACK集群

为避免过期版本存在的安全和稳定性风险,请及时升级集群。集群升级包括控制面升级和节点池升级。

重要

升级集群前,请确保已参见升级集群了解升级流程、升级方式和注意事项。

操作入口

您可以先升级控制面,再升级节点池。升级控制面之前,请确保节点的kubelet和容器运行时版本与控制面版本保持匹配,避免引发升级失败或业务中断。例如,如控制面版本为1.32,而节点的版本为1.31,则需将节点的版本升级至1.32后,才能将控制面升级至1.33。

  1. 登录容器服务管理控制台,在左侧导航栏选择集群列表

  2. 集群列表页面,单击目标集群名称,然后在左侧导航栏,选择运维管理 > 集群升级

  3. 集群升级页面选择可升级的目标版本,按照页面提示完成升级。

升级控制面

1. 前置检查

控制面升级前置检查包括检查废弃API、组件兼容性、集群状态等。

1.20及以上版本的集群会检查当前版本是否使用了废弃API。检查结果不影响升级流程,仅作为提示信息。建议在升级前完成修复,避免影响下一版本集群的正常运行。

集群升级页面单击前置检查,提前扫描集群升级可能存在的潜在风险。检查完成后,在前置检查结果区域查看检查结果。示例如下。

image

  • 结果正常:升级检查成功,继续执行升级。

  • 结果异常:不影响当前集群的运行及集群状态。请参见解决方案完成修复。更多信息,请参见集群检查项及修复方案

2. 执行升级

耗时:ACK托管集群ACK Serverless集群ACK托管升级,约5分钟;ACK专有集群Master节点需逐一串行升级,每个节点约8分钟。

前置检查处理完成后,单击立即升级,按照页面提示进行控制面的升级。

控制面升级后,新扩容节点的版本也将遵循控制面版本。

image

3. 升级后验证

控制面完成升级后,建议检查如下内容:

对 控制面升级成功,在集群列表查看集群版本时已更新至新版本。

对 API Server和核心组件状态正常。

对 业务应用运行正常。

对 可正常创建Pod。

对 可正常添加节点。

升级节点池

控制面升级完成后,请尽快在业务低峰期完成节点池升级,包括节点kubelet和容器运行时升级。

1. 前置检查

节点池升级前置检查包括检查节点状态、系统资源、磁盘状态、网络环境等。

节点池升级页面的节点池列表,单击目标节点池对应的升级,然后在页面下方单击前置检查,提前扫描升级过程中可能存在的风险。检查完成后,在前置检查结果区域查看检查结果。

image

  • 结果正常:升级检查成功,继续执行升级。

  • 结果异常:不影响当前集群的运行及集群状态。请参见集群检查项及修复方案及控制台提示完成修复。

2. 配置升级策略并执行升级

耗时:取决于节点分批情况。原地升级每批次约5~10分钟;替盘升级(不涉及快照)约8分钟,具体时长受排水情况影响;如需创建快照,升级需等待快照结束后执行,快照创建时间受数据量影响。

参见下表配置升级策略,然后单击立即升级,按照页面提示进行节点池的升级。

配置项

说明

版本信息

kubelet 和容器运行时的当前版本及可升级版本。

升级节点

可升级所有节点,也可先升级部分节点,观测无误后再陆续完成升级。

升级方式

  • 原地升级:直接在原节点上更新替换所需的组件。不替换系统盘,也不会重新初始化节点,原节点的数据不受影响。

  • 替盘升级:通过替换节点系统盘的方式重新初始化节点。节点的实例属性(如节点名称、实例ID、IP等)不发生改变,但节点系统盘上的数据将被删除。额外挂载到该节点上的数据盘不受影响。

    可参见参考信息:原地升级和替盘升级了解升级逻辑和流程说明。

批量升级策略

  • 每批次执行最多节点数:ACK同一时间只升级一个节点池,节点池内部根据此配置执行分批升级。如需暂停后重新恢复升级,依然遵循该分批策略。批次节点数递增:1、2、4、8……直至达到最大并行数,之后每批均按最大并行数执行。

    例如:最大并行数为4时,批次节点数依次为1、2、4、4、4……详细说明请参见参考信息:原地升级和替盘升级
  • 自动暂停策略:节点升级过程中的暂停策略。如选择不暂停时,还可配置每批次间隔时间,即每个升级批次之间是否需要时间间隔或间隔的时长(5~120分钟)。

  • 自动快照:如节点系统盘上有重要业务数据,可选择是否在升级节点池前为节点创建快照,以便进行节点数据的备份和恢复。

    重要

3. 升级后验证

节点池完成升级后,建议检查如下内容:

对 节点升级成功,且在节点详情页面查看kubeletcontainerd版本时已更新至新版本。

对 Pod调度正常。

对 业务应用运行正常。

相关文档