升级集群
如何手动升级我的集群?请参见手动升级集群先完成前置检查,然后执行升级,升级后验证是否符合预期。
升级集群时有哪些推荐做法?保持升级频率:通过帮助文档、邮件、短信等方式关注ACK版本发布说明,及时规划升级。建议及时升级集群。
制定升级规划:集群升级不仅是版本号的变化,还涉及废弃API、废弃功能、重大变化。请根据集群规模和业务需求提前制定升级规划,预留集群维护窗口。建议在业务低峰期升级集群,升级完成后请充分验证、观察,确保升级对业务无影响。同时建议在测试环境先进行升级验证。
使用自动升级:使用自动升级集群功能,ACK会提前生成升级计划,在维护窗口期内触发前置检查并升级集群,降低版本运维压力。
您也可以创建ACK托管集群(智能托管模式),集群版本会由ACK自动升级。
集群升级需要多长时间?控制面:ACK托管集群、ACK Serverless集群由ACK托管升级,约5分钟;ACK专有集群的Master节点需逐一串行升级,每个节点约8分钟。
节点池:取决于节点分批情况。原地升级每批次约5~10分钟;替盘升级(不涉及快照)约8分钟,具体时长受排水情况影响;如需创建快照,升级需等待快照结束后执行,快照创建时间受数据量影响。
我能不能不升级集群版本,永远停留在一个版本?不能。过期版本的潜在安全风险不仅会对您的集群产生影响,也可能影响阿里云的整体安全。ACK不允许集群长期处于过期状态,会采取强制升级方式将集群升级至安全稳定的版本。
请及时升级集群版本(手动升级集群),以便享受ACK提供的最新功能特性和更好的技术支持。升级前,请参见版本发布说明了解各版本的特性变更和注意事项。推荐您启用自动升级集群功能,保持集群的周期性自动升级。
ACK支持跨多个版本升级吗?ACK不支持跨次要版本升级,您需要逐级升级版本。此外,升级集群控制面前,请确保集群节点的版本与控制面版本相同。
我的集群版本很老了,如何快速升级我的集群版本?您可以通过以下两种方案来实现。
方案一:逐级升级版本。每次升级后,请观察集群业务是否持续稳定运行,再进行下一次升级。具体操作,请参见手动升级集群。
方案二:新建一个最新版本的集群,将集群应用逐步迁移至新集群,再下线老集群。关于如何创建并配置集群,请参见创建ACK托管集群。
1.22版本的集群升级至1.24时需要切换Docker至containerd,如何操作?ACK在1.24及更高版本中不再支持将Docker作为内置容器运行时,您需要将节点容器运行时从Docker迁移到containerd。
您可以通过节点池升级功能在原节点池完成运行时切换,也可以新建containerd节点池完成轮转迁移。具体操作,请参见将节点容器运行时从Docker迁移到containerd。
ACK如何保证集群升级的稳定性?一个ACK集群由控制面和节点池两部分组成。
控制面升级:ACK提供升级前的前置检查功能,对废弃API、组件兼容性、功能配置兼容性、控制面组件等进行检查。检查结果不影响集群中业务的正常运行。如检查结果异常,可参见控制台获取修复建议。更多信息,请参见手动升级集群。
节点池升级:节点池升级包括kubelet和containerd的升级。ACK提供升级前的前置检查功能,检查节点状态、系统资源、磁盘状态、网络环境等。检查结果不影响集群中业务的正常运行。如检查结果异常,可参见控制台获取修复建议。
您也可以自行配置升级策略,例如通过指定待升级节点、设置每批次可升级的最大节点数、配置升级暂停策略等配置控制升级节奏。如节点系统盘上有重要业务数据,也可以在升级节点池前为节点创建快照。更多信息,请参见升级节点池。
集群升级有哪些注意事项?集群升级不支持回滚。建议您先升级测试环境,验证通过后再升级生产环境。您也可以在升级过程中优先升级某些节点进行验证。
每个Kubernetes版本支持的组件版本、功能特性、功能废弃情况不同,请参见不同版本的版本发布说明。
遵循控制面升级注意事项。
遵循节点池升级注意事项。
过期版本的集群还能正常使用吗?您仍然可以使用过期版本的集群。但过期版本集群存在安全隐患和稳定性风险,请参见及时升级至维护中的版本。
由于ACK集群主要采用托管架构,这些安全风险不仅会对您的集群产生影响,也可能会影响阿里云的整体安全。因此,ACK不允许集群长期处于过期状态,会采取强制升级方式将集群升级至安全稳定的版本,请参见过期版本的强制升级。
集群升级后支持版本回退吗?控制面和节点池kubelet和容器运行时版本升级后均不支持回退。
升级节点池过程中,如节点系统盘上有重要业务数据,您可在升级前为节点创建快照,以便进行节点数据的备份和恢复。
同时需要升级集群和迁移集群至ACK托管集群Pro版,应该先执行哪个?推荐您先完成集群的迁移,观测业务运行正常后再开始升级集群。
前置检查提示废弃API怎么办?1.20及以上版本的集群升级时,ACK会检查当前版本是否使用了废弃API。检查结果不影响升级流程,仅作为提示信息。建议在升级前完成修复,避免影响下一版本集群的正常运行。
前置检查提示组件版本过低怎么办?除控制面组件和部分核心组件(如kube-proxy)外,ACK不会升级其他集群组件。您可以在控制台的组件管理页面了解待升级的组件,参见组件介绍与发布记录了解其版本兼容性和升级要求,并在业务低峰期完成升级。
如何处理集群升级失败并提示the aliyun service is not running on the instance?云助手不可用,导致升级命令下发失败。您可以在启动或停止云助手后,重新执行集群升级操作。具体操作,请参见启动、停止或者卸载云助手Agent。
如何处理节点PLEG not healthy?容器或者容器运行时无响应。请重启节点后重新执行升级。
升级集群时出现invalid object doesn't have additional properties报错怎么办?集群升级后,需要同步升级本地的kubectl版本。如果未及时升级,在使用本地kubectl的过程中可能会因为与集群API Server版本不同,发生类似invalid object doesn't have additional properties的报错。关于如何安装或升级kubectl,请参见安装kubectl。