升级业务集群
本页介绍业务集群的传统操作系统路径。对于使用 Alauda OS 的业务集群,Kubernetes 步骤位于 Immutable Infrastructure 文档中——请参见 在 Immutable Infrastructure 上升级集群。本页描述的 Core、Aligned 和 Agnostic 步骤仍适用于 immutable-OS 集群;仅 Kubernetes 的部署方式不同。
在 global 层已经达到目标 ACP Distribution Version 之后,可以升级业务集群。如果 global 层已经处于该 Distribution Version,则无需再次升级。
业务集群升级使用与 global 集群相同的基于 CVO 的工作流:确认先决条件、运行 preflight 检查、发起升级请求并观察执行过程。该工作流还有两条额外规则:
- 如果平台使用 global DR,则在任何业务集群升级到该 Distribution Version 之前,备用和主用 global 集群都必须先达到目标 Distribution Version。
- 目标版本通常只有在 global 层已经达到相同的 Distribution Version 之后,才会对业务集群开放。
业务集群升级与 global 集群升级一样会分阶段进行,但流程更短。业务集群没有自己的 cluster version operator——CVO 运行在 global 集群上,并集中驱动业务集群升级——因此业务集群没有自己的 artifact 同步或 CVO 部署步骤:
工作流
确认业务集群先决条件
在发起升级请求之前,验证以下内容:
- 业务集群版本低于当前
global集群版本。 - global 层已经达到目标 ACP Distribution Version。
- 在 global DR 环境中,备用和主用 global 集群都已经达到该目标 Distribution Version。
确保 Aligned operator 包可用
升级 global 集群 中推荐的模式会在 global 升级窗口期间将 operator 包推送到每个 集群。如果已遵循该建议,则业务集群已经拥有所需的所有 operator 包,可跳过本节。
集群插件不需要按业务集群单独发布。通过 upgrade.sh 或 violet 向 global 层提供的集群插件,可在平台中的每个集群上安装和升级。
如果 global 窗口没有将 operator 包推送到该业务集群——例如,该集群在 global 窗口期间处于离线状态,或是后来才加入——则在升级请求之前,为此业务集群上已安装的每个 Aligned operator 推送目标版本包:
你只需要为业务集群上实际安装的 Aligned operators 推送包。向 global 层提供的 Aligned 集群插件包对所有业务集群都可用,不需要按集群发布。
如果已安装的 Aligned operator 的目标包不可用,CVO 可能会等待匹配的目标 InstallPlan,然后在重试现有请求时报告错误。请检查该 operator 的 catalog、Subscription、InstallPlan 和 ModuleInfo;使用上面的命令发布缺失的包,或修正报告中的 catalog 或 registry 问题。继续观察现有请求即可,无需重新提交。未安装在该业务集群上的 Aligned operator 包不会阻止其升级。
运行 preflight 检查
**时间:**维护窗口前 1–2 周,以便在窗口开启前有时间解决任何阻塞项。
以 preflight 模式对目标集群运行 upgrade.sh:
Preflight 为只读操作——它用于验证升级就绪状态,不会更改集群状态。
Preflight 返回两部分内容:
如果 preflight 未通过,请不要提交升级请求,直到所有阻塞项都已解决。
有关 preflight 阻塞处理模式,请参见升级故障排查。
发起升级请求
**时间:**在维护窗口期间,并且在 preflight 通过之后。
通过以下入口之一发起升级请求。这两个入口是等价的;请选择适合你的操作模型的方式。
在 Web Console 中从业务集群开始升级。该请求遵循两步流程:
- 在 步骤 1 中,查看 RPCH 列表。
- 点击 确认 继续到 步骤 2。
- 在 步骤 2 中,查看 当前版本 和 目标版本。此阶段页面不会显示 plugin 列表或警告面板。
- 目标版本是当前
global集群版本,不能在 Web Console 中手动选择。 - 点击 开始升级。
- 提交请求后,页面会显示升级请求已提交,并且该操作进入进行中状态。
观察进度
提交升级请求后,使用 cvsh.status 跟踪当前版本、目标版本、preflight 结果、阶段和历史记录:
如果当前 ACP 上下文指向目标业务集群,也可以检查 CLI 报告的状态:
有关 ac adm upgrade status 输出的详细语义(preflight 和阶段解读),请参见升级集群。
如果升级报告 Stalled=True,请使用升级故障排查。缺失的 Aligned operator 包和集群插件包有不同的恢复路径。
上述命令跟踪的是集群级别(Core 和 Aligned)的升级。要观察单个 plugin 或 operator 模块——例如在升级 Agnostic plugin 时——请读取其 ModuleInfo:
当 status.phase 为 Running 且 status.version 等于目标版本时,说明该模块已达到目标状态。
从 Marketplace 升级 Agnostic plugins
CVO 负责驱动 Core 和 Aligned plugins。Agnostic plugins 不在 CVO 的范围内,并且必须在该业务集群达到目标 Distribution Version 之后单独升级。
对该业务集群中每个正在使用的 Agnostic plugin:
- 在 Web Console 中切换到 管理员 视图。
- 导航到 Marketplace > Cluster Plugins,用于 Agnostic cluster plugins;或者进入 Agnostic operators 的 operator 工作流。
- 选择目标 plugin 或 operator 并触发升级。
每个 Agnostic plugin 是否需要在本窗口中升级,取决于其自身的 Kubernetes 兼容性——请查看该 plugin 的 release notes,以了解其与业务集群已达到的新 Kubernetes 版本的兼容性。
如果 Marketplace 未在该业务集群上提供某个 operator 的目标版本,请先为该 operator 按照确保 Aligned operator 包可用处理,然后重试 Marketplace 升级。
验证升级
在业务集群及其正在使用的 Agnostic plugins 达到目标后,完成升级验证。