为避免过期版本存在的安全和稳定性风险,请及时升级集群。集群升级包括控制面升级和节点池升级。
升级集群前,请确保已阅读升级集群了解升级集群重要事项。
操作入口
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择。
在集群升级页面选择可升级的目标版本,按照页面提示完成升级。
升级控制面
1. 前置检查
控制面升级前置检查包括检查废弃API、组件兼容性、集群状态等。
1.20及以上版本的集群会检查当前版本是否使用了废弃API。检查结果不影响升级流程,仅作为提示信息。建议在升级前完成修复,避免影响下一版本集群的正常运行。
在控制面升级页签单击前置检查,提前扫描集群升级可能存在的潜在风险。检查完成后,在前置检查结果区域查看检查结果。
结果正常:升级检查成功,继续执行升级。
结果异常:不影响当前集群的运行及集群状态。请参见解决方案完成修复。更多信息,请参见集群检查项及修复方案。
2. 执行升级
耗时:ACK托管集群、ACK Serverless集群由ACK托管升级,约5分钟;ACK专有集群的Master节点需逐一串行升级,每个节点约8分钟。
前置检查处理完成后,单击立即升级,按照页面提示进行控制面的升级。升级期间,请勿进行业务应用的发布、变更操作,或集群扩缩容、节点池管理等运维操作,以免影响升级流程或导致业务异常。
升级后,新扩容节点的版本也将遵循控制面版本。
3. 升级后验证
控制面完成升级后,建议检查如下内容:
控制面升级成功,在集群列表查看集群版本时已更新至新版本。
API Server和核心组件状态正常。
业务应用运行正常。
可正常创建Pod。
可正常添加节点。
4.(可选)继续升级控制面
(可选)当集群版本为1.30或更高时,ACK托管集群控制面支持的最高版本可以比集群中所有节点中最低的 kubelet 版本高 2 个次要版本(Minor Version)。例如,所有节点中最低的 kubelet 版本为1.30时,控制面最高可升级至1.32。
如需进行继续升级控制面,请参照上述步骤1至3,依次执行控制面前置检查、升级与验证,直至控制面达到最高可升级版本。
升级节点池
控制面升级完成后,请尽快在业务低峰期完成节点池升级,包括节点kubelet和容器运行时升级。
1. 配置升级策略并执行升级
耗时:取决于节点分批情况。原地升级每批次约5~10分钟;替盘升级(不涉及快照)约8分钟,具体时长受排水情况影响;如需创建快照,升级需等待快照结束后执行,快照创建时间受数据量影响。
在升级节点池页签的节点池列表,单击目标节点池对应的立即升级。
在升级策略配置中,确认升级信息并配置升级策略,然后单击开始升级,按照页面提示进行节点池的升级。
如果控制面领先节点kubelet 2个次要版本,节点kubelet将会跨版本升级到与控制面相同的版本。
配置项
说明
升级节点
可升级所有节点,也可选择指定节点升级。
升级方式
原地升级:直接在原节点上更新替换所需的组件。不替换系统盘,也不会重新初始化节点,原节点的数据不受影响。
替盘升级:通过替换节点系统盘的方式重新初始化节点。节点的实例属性(如节点名称、实例ID、IP等)不发生改变,但节点系统盘上的数据将被删除。额外挂载到该节点上的数据盘不受影响。
可参见参考信息:原地升级和替盘升级了解升级逻辑和流程说明。
忽略警告级别检查项
升级节点池时,自动执行的前置检查出现警告项时,是否继续执行升级。
批量升级策略
每批次执行最多节点数:ACK同一时间只升级一个节点池,节点池内部根据此配置执行分批升级。如需暂停后重新恢复升级,依然遵循该分批策略。批次节点数递增:1、2、4、8……直至达到最大并行数,之后每批均按最大并行数执行。
例如:最大并行数为4时,批次节点数依次为1、2、4、4、4……详细说明请参见参考信息:原地升级和替盘升级。
自动暂停策略:节点升级过程中的暂停策略。如选择不暂停时,还可配置每批次间隔时间,即每个升级批次之间是否需要时间间隔或间隔的时长(5~120分钟)。
每批次间隔时间:每批次执行升级中的间隔时间。如选择不设置,则每一个批次升级完成后立即开始下一个批次的升级。
自动快照:如节点系统盘上有重要业务数据,可选择是否在升级节点池前为节点创建快照,以便进行节点数据的备份和恢复。
2. 升级后验证
节点池完成升级后,建议检查如下内容:
节点升级成功,且在节点详情页面查看kubelet和containerd版本时已更新至新版本。
Pod调度正常。
业务应用运行正常。
相关文档
关于升级集群前和升级过程中的常见问题,请参见常见问题。
ACK对Kubernetes版本支持的机制,请参见版本说明。
自1.24版本起不再支持将Docker作为内置容器运行时,升级至1.24及更高版本时需要将节点容器运行时从Docker迁移到containerd。
自1.30版本起不再支持CentOS和Alibaba Cloud Linux 2,请使用支持中的操作系统。
建议启用集群自动升级功能,降低版本运维压力,请参见自动升级集群。
建议将集群中的游离节点纳入节点池统一管理后再进行升级,详见迁移游离节点至节点池。