为避免过期版本存在的安全和稳定性风险,请及时升级集群。集群升级包括控制面升级和节点池升级。
升级集群前,请确保已参见升级集群了解升级流程、升级方式和注意事项。
操作入口
您可以先升级控制面,再升级节点池。升级控制面之前,请确保节点的kubelet和容器运行时版本与控制面版本保持匹配,避免引发升级失败或业务中断。例如,如控制面版本为1.32,而节点的版本为1.31,则需将节点的版本升级至1.32后,才能将控制面升级至1.33。
登录容器服务管理控制台,在左侧导航栏选择集群列表。
在集群列表页面,单击目标集群名称,然后在左侧导航栏,选择 。
在集群升级页面选择可升级的目标版本,按照页面提示完成升级。
升级控制面
1. 前置检查
控制面升级前置检查包括检查废弃API、组件兼容性、集群状态等。
1.20及以上版本的集群会检查当前版本是否使用了废弃API。检查结果不影响升级流程,仅作为提示信息。建议在升级前完成修复,避免影响下一版本集群的正常运行。
在集群升级页面单击前置检查,提前扫描集群升级可能存在的潜在风险。检查完成后,在前置检查结果区域查看检查结果。示例如下。
结果正常:升级检查成功,继续执行升级。
结果异常:不影响当前集群的运行及集群状态。请参见解决方案完成修复。更多信息,请参见集群检查项及修复方案。
2. 执行升级
耗时:ACK托管集群、ACK Serverless集群由ACK托管升级,约5分钟;ACK专有集群的Master节点需逐一串行升级,每个节点约8分钟。
前置检查处理完成后,单击立即升级,按照页面提示进行控制面的升级。
控制面升级后,新扩容节点的版本也将遵循控制面版本。
3. 升级后验证
控制面完成升级后,建议检查如下内容:
控制面升级成功,在集群列表查看集群版本时已更新至新版本。
API Server和核心组件状态正常。
业务应用运行正常。
可正常创建Pod。
可正常添加节点。
升级节点池
控制面升级完成后,请尽快在业务低峰期完成节点池升级,包括节点kubelet和容器运行时升级。
1. 前置检查
节点池升级前置检查包括检查节点状态、系统资源、磁盘状态、网络环境等。
在节点池升级页面的节点池列表,单击目标节点池对应的升级,然后在页面下方单击前置检查,提前扫描升级过程中可能存在的风险。检查完成后,在前置检查结果区域查看检查结果。
结果正常:升级检查成功,继续执行升级。
结果异常:不影响当前集群的运行及集群状态。请参见集群检查项及修复方案及控制台提示完成修复。
2. 配置升级策略并执行升级
耗时:取决于节点分批情况。原地升级每批次约5~10分钟;替盘升级(不涉及快照)约8分钟,具体时长受排水情况影响;如需创建快照,升级需等待快照结束后执行,快照创建时间受数据量影响。
参见下表配置升级策略,然后单击立即升级,按照页面提示进行节点池的升级。
配置项 | 说明 |
版本信息 | kubelet 和容器运行时的当前版本及可升级版本。 |
升级节点 | 可升级所有节点,也可先升级部分节点,观测无误后再陆续完成升级。 |
升级方式 |
|
批量升级策略 |
|
3. 升级后验证
节点池完成升级后,建议检查如下内容:
节点升级成功,且在节点详情页面查看kubelet和containerd版本时已更新至新版本。
Pod调度正常。
业务应用运行正常。
相关文档
关于升级集群前和升级过程中可能遇到的常见问题,请参见常见问题。
ACK对Kubernetes版本支持的机制,请参见ACK版本发布说明。
自1.24版本起不再支持将Docker作为内置容器运行时,升级至1.24及更高版本时需要将节点容器运行时从Docker迁移到containerd。
自1.30版本起不再支持CentOS和Alibaba Cloud Linux 2,可转而使用其他支持中的操作系统。
您也可以启用集群自动升级功能,降低版本运维压力,请参见自动升级集群。