升级 global 集群
由一个 global 集群 和一个或多个 业务集群 组成。必须先升级 global 集群,之后才能升级任何业务集群。
本文档将引导您完成 global 集群的升级操作步骤。
如果 global 集群配置了 global DR(灾备) 方案,请严格按照global DR 操作步骤执行。否则,请按照标准操作步骤进行。
目录
标准操作步骤
如果您从 3.16.x 或 3.18.x 版本升级且已安装 Application Services,请参考Application Services 升级指南完成升级 global 集群前必须执行的额外步骤。
上传镜像
将核心软件包复制到 global 集群的任一控制平面节点,解压软件包并进入解压目录。
-
如果 global 集群使用的是内置镜像仓库,执行:
-
如果 global 集群使用的是外部镜像仓库,还需提供仓库地址:
如果计划在升级 global 集群时同时升级 Operator 和 Cluster Plugin,可以提前将它们的镜像推送到 global 集群的镜像仓库。 批量上传镜像的操作请参见从目录中仅推送所有软件包的镜像。
上传镜像通常需要约 2 小时,具体时间取决于您的网络和磁盘性能。
如果平台配置了 global 灾备(DR),请注意备用 global 集群也需要上传镜像,请合理安排维护时间窗口。
使用 violet 向备用集群上传软件包时,必须指定参数 --dest-repo <备用集群的 VIP 地址>。
否则软件包将上传到主集群的镜像仓库,导致备用集群无法安装或升级扩展。
另外,必须提供备用集群镜像仓库的认证信息,或使用 --no-auth 参数。
有关 violet push 子命令的详细说明,请参见上传软件包。
触发升级
镜像上传完成后,执行以下命令启动升级流程:
等待脚本执行完成后再继续操作。
如果您已提前将 Operator 和 Cluster Plugin 镜像推送到 global 集群的镜像仓库,则可接着执行从目录中仅创建所有软件包的 CR。 执行该命令后,等待约 10–15 分钟,直到功能组件出现升级通知,即可在后续升级步骤中一并升级 Operator 和 Cluster Plugin。
升级 global 集群 时,切勿在从目录中仅创建所有软件包的 CR步骤中使用 --clusters 参数在业务集群上创建 CR。
否则可能导致后续业务集群升级失败。
升级 global 集群
如果您从 3.16 或 3.18 版本升级,且平台安装了 Data Services,升级集群时必须同时升级相关扩展。
详情请参见升级 Data Services。
- 登录 global 集群的 Web Console,切换到 Administrator 视图。
- 进入 Clusters > Clusters。
- 点击
global集群,打开其详情视图。 - 切换到 Functional Components 标签页。
- 点击 Upgrade 按钮。
在弹窗中查看可用组件更新,确认后继续。
- 升级 Kubernetes 版本为可选项。但由于升级过程中可能出现服务中断,建议一并升级 Kubernetes 以避免多次维护窗口。
- 如果 global 集群安装了 Alauda Container Platform GitOps 插件,且升级后其 Pod 状态异常,请参考 升级 Alauda Container Platform GitOps。
安装 Product Docs 插件
Alauda Container Platform Product Docs 插件提供平台内的产品文档访问,平台内所有帮助链接均指向该文档。 若未安装此插件,点击平台内帮助链接将导致 404 访问错误。
从 4.0 起,内置产品文档已拆分为 Alauda Container Platform Product Docs 插件。 如果您从 3.x 升级,需要按照以下步骤安装该插件:
-
进入 Administrator。
-
在左侧边栏点击 Marketplace > Cluster Plugins,选择
global集群。 -
找到 Alauda Container Platform Product Docs 插件,点击 Install。
(可选)安装 Service Mesh Essentials
如果安装了 Service Mesh v1,请在升级业务集群前参考 Alauda Service Mesh Essentials Cluster Plugin 文档。
升级后操作
global DR 操作步骤
校验数据一致性
按照常规 global DR 检查流程,确保备用 global 集群中的数据与主 global 集群保持一致。
若发现不一致,请联系技术支持后再继续操作。
在两个集群上执行以下命令,确保没有处于非运行状态的 Machine 节点:
若存在异常节点,请联系技术支持解决后再继续。
卸载 etcd 同步插件
登录主 global 集群的任一控制平面节点,执行:
上传镜像
在备用集群和主集群上均执行上传镜像步骤。
详情请参见标准操作步骤中的上传镜像。
升级备用集群
需要访问备用集群的 Web Console 才能执行升级。
升级前请确认备用集群的 ProductBase 资源中 spec.alternativeURLs 配置了集群 VIP。
若未配置,请更新为:
在备用集群上,按照标准操作步骤完成升级。
升级主集群
备用集群升级完成后,继续在主集群上执行标准操作步骤。
重新安装 etcd 同步插件
重新安装前,请确认两个 global 集群 VIP 的端口 2379 均已正确转发到控制平面节点。
重新安装步骤:
- 通过 IP 或 VIP 访问备用 global 集群的 Web Console。
- 切换到 Administrator 视图。
- 进入 Marketplace > Cluster Plugins。
- 选择
global集群。 - 找到 Alauda Container Platform etcd Synchronizer,点击 Install 并填写所需参数。
验证安装:
检查同步状态
执行以下命令检查同步状态:
输出说明:
"LOCAL ETCD missed keys:"– 表示主集群存在但备用集群缺失的键,通常重启 pod 后可自动恢复。"LOCAL ETCD surplus keys:"– 表示备用集群存在但主集群缺失的键,请与运维团队确认后再决定是否删除。