升级业务集群的发行版
此页面适用于两种节点操作系统。对于使用非 Alauda OS 的业务集群,此操作步骤还会原地升级 Kubernetes;操作完成后,集群升级即告完成。对于使用 Alauda OS 的业务集群,请先完成此页面上的操作,然后继续执行在 Alauda OS 上升级 Kubernetes,通过替换节点来推出 Kubernetes。
global 层已达到目标 ACP 发行版后,即可升级业务集群。如果 global 层已达到该发行版,则无需再次升级。
业务集群升级采用与 global 集群相同的基于 CVO 的工作流:确认前提条件、运行预检、请求升级并观察执行情况。此工作流还有两条额外规则:
- 如果平台使用 global DR,则 standby 和 primary global 集群都必须达到目标发行版,然后才能将任何业务集群升级到该发行版。
- 通常只有在 global 层已达到相同发行版后,目标版本才会对业务集群开放。
业务集群升级的阶段安排与 global 集群升级类似,但流程更短。业务集群没有自己的 cluster version operator — CVO 在 global 集群上运行,并集中驱动业务集群升级 — 因此业务集群本身不需要执行制品同步或 CVO 部署步骤:
工作流
确认业务集群前提条件
请求升级前,请确认:
- 业务集群版本低于当前
global集群版本。 - global 层已达到目标 ACP 发行版。
- 在 global DR 环境中,standby 和 primary global 集群都已达到目标发行版。
确保 Aligned operator 软件包可用
升级 global 集群中推荐的做法是在 global 集群升级窗口期间,将 operator 软件包推送到每个 集群。如果已遵循此建议,业务集群就已拥有所需的全部 operator 软件包,可以跳过本节。
集群插件无需针对每个业务集群单独发布。通过 upgrade.sh 或 violet 提供给 global 层的集群插件,可在平台上的所有集群中安装和升级。
如果 global 窗口期间未向此业务集群推送 operator 软件包(例如,该集群在 global 窗口期间处于离线状态,或是在之后才添加的),请在提交升级请求前,为此业务集群上安装的每个 Aligned operator 推送目标版本的软件包:
只需推送此业务集群上实际安装的 Aligned operator 软件包。提供给 global 层的 Aligned 集群插件软件包对所有业务集群都可用,无需针对每个集群单独发布。
如果已安装的 Aligned operator 的目标软件包不可用,CVO 可能会等待匹配的目标 InstallPlan,随后在重试现有请求时报告错误。请检查 operator 的 catalog、Subscription、InstallPlan 和 ModuleInfo;使用上述命令发布缺失的软件包,或修正报告的 catalog 或 registry 问题。继续观察现有请求,无需再次提交。此业务集群上未安装的 Aligned operator 软件包不会阻塞升级。
运行预检
时间:维护窗口前 1–2 周,以便在窗口开启前留出时间解决所有阻塞项。
对目标集群以预检模式运行 upgrade.sh:
预检为只读操作,只验证升级就绪情况,不会更改集群状态。
预检会返回两部分结果:
如果预检未通过,在解决所有阻塞项之前,请勿提交升级请求。
有关预检阻塞项的处理模式,请参阅升级故障排除。
请求升级
时间:维护窗口期间,且预检通过之后。
通过以下任一入口请求升级。这些入口功能相同,请根据您的运维模式选择合适的入口。
平台在 Web Console 中提供两种集群管理界面。Web Console 是平台内置的界面,也是默认入口。Web Console (Fleet Essentials) 是较新的集群管理界面,以独立集群插件的形式交付,使用前必须先安装。
这是内置的集群管理界面。业务集群升级使用与 global 集群升级相同的页面,但页面打开时选择的是业务集群,而不是 global。
请求升级需要对目标集群的 ClusterVersionShadow 和 ResourcePatch 资源具有更新权限。
-
在左侧导航栏中,单击 Clusters > Clusters,然后单击业务集群。
-
打开 Functional Components 选项卡,然后单击 Upgrade。
当没有可升级的版本(No upgradable version)、已有升级正在运行(Upgrading)或集群运行状况不佳(Cluster Abnormality)时,此按钮将被禁用。global 层达到目标发行版之前,业务集群不会有可升级的版本。
-
在 Personalized Configuration Confirmation 步骤中,检查列出的配置,然后单击 Acknowledge。
仅当集群包含个性化配置时才会显示此步骤,包括自定义的
ModuleInfo、自定义的ClusterModule或ResourcePatch。如果集群不包含这些配置,则不会显示此步骤,页面会直接打开确认表单。 -
在 Confirm Component Upgrade 步骤中,检查 Current Version 和 Target Version。
对于业务集群,目标版本是 global 层已达到的发行版,无法在此界面中手动选择。
-
单击 Upgrade,然后在 Are you sure you want to upgrade the cluster version? 对话框中确认。
此确认对话框与 global 集群升级共用,打开时已启用 Maintenance mode。此开关设置的是平台范围的维护模式,而非业务集群的设置:启用后,非平台管理员用户将无法访问整个平台上的功能,并会看到 Platform maintenance announcements 中的文本。除非您打算在此次业务集群升级期间限制整个平台,否则请在提交前关闭此开关。
提交请求后,页面会返回 Functional Components 选项卡,并显示 The upgrade has been initiated. It may take 5~10 minute for the status to update.
观察进度
提交升级请求后,使用 cvsh.status 跟踪当前版本、目标版本、预检结果、阶段和历史记录:
如果当前 ACP 上下文指向目标业务集群,也可以查看 CLI 报告的状态:
有关 ac adm upgrade status 输出(预检和阶段解读)的详细说明,请参阅升级集群。
如果升级报告 Stalled=True,请使用升级故障排除。缺失的 Aligned operator 软件包与集群插件软件包有不同的恢复路径。
上述命令用于跟踪集群级(Core 和 Aligned)升级。若要观察单个插件或 operator 模块(例如升级 Agnostic 插件时),请读取其 ModuleInfo:
当模块的 status.phase 为 Running,且 status.version 等于目标版本时,即表示模块已达到目标版本。
从 Marketplace 升级 Agnostic 插件
CVO 会驱动 Core 和 Aligned 插件。Agnostic 插件不在 CVO 的范围内,必须在此业务集群达到目标发行版后逐一升级。
对于此业务集群上正在使用的每个 Agnostic 插件:
- 在 Web Console 中,切换到 Administrator 视图。
- 对于 Agnostic 集群插件,导航到 Marketplace > Cluster Plugins;对于 Agnostic operator,导航到 operator 工作流。
- 选择目标插件或 operator,然后触发升级。
每个 Agnostic 插件是否需要在此窗口期间升级,取决于其自身的 Kubernetes 兼容性 — 请查看插件的 release notes,确认其与业务集群已升级到的新 Kubernetes 版本的兼容性。
如果 Marketplace 未向此业务集群提供 operator 的目标版本,请先按照确保 Aligned operator 软件包可用中的说明处理该 operator,然后重试 Marketplace 升级。
验证升级
业务集群及其正在使用的 Agnostic 插件均达到目标版本后,请完成升级验证。如果业务集群使用 Alauda OS,请先完成Alauda OS 上的 Kubernetes 升级。