ONES Helm 升级说明(外置数据库)
适用场景:适用于使用外置数据库,且对升级权限隔离和变更审计有严格合规要求的环境。 升级过程遵循最小权限原则,CRD、RBAC、PVC 等 Kubernetes 资源变更及数据库升级 SQL 均可 纳入现有审批流程,由相应管理员审核并执行。
本文介绍如何升级通过 Helm 安装的 ONES 集群。仅适用于集群多副本、外置 MySQL 和 Namespace Scope 部署方式。
升级前,必须确认当前版本到目标版本的升级路径受 ONES 支持。非 Helm 部署的环境不要 使用本文操作。
准备升级参数
先在终端执行以下命令,根据实际环境准备升级参数。本文后续命令均复用这些参数,请在同一 终端会话中执行:
# 必须改为当前环境实际运行的 ONES 版本
CURRENT_ONES_VERSION="v7.25.0"
# 必须改为本次计划升级到的 ONES 版本
TARGET_ONES_VERSION="v7.26.0"
# Kubernetes 节点架构,支持 amd64 和 arm64
OS_ARCH="amd64"
# ONES 所在的 Namespace
NAMESPACE="ones"
mkdir -p ~/ones/${NAMESPACE}
cd ~/ones/${NAMESPACE}
OS_ARCH支持amd64和arm64。- 当前环境使用的
values.yaml应保存在~/ones/${NAMESPACE}/values.yaml。部分操作会进入生成的 制品目录,完成后应返回~/ones/${NAMESPACE}再继续。
升级流程
- 制作差量离线包并将新镜像导入私有镜像仓。
- 检查是否满足升级放行标准。
- 准备目标 ONES 版本。
- 更新 CRD、RBAC,创建新增 PVC,并准备数据库升级 SQL。
- 执行 Helm 升级。
- 观察 Bootstrap 和数据库迁移。
- 验证升级结果。
第一步:导入目标版本差量镜像
默认使用 ONES 提供的工具包导入镜像。如需改用 Docker 等方式,请参见附录中的 其他差量镜像导入方式。
1.1 制作差量离线包
目标环境无法同时访问 ONES 镜像 仓和客户私有镜像仓时,可以先在联网主机制作差量离线包, 再将离线包复制到目标环境导入。
在联网主机制作离线包。
curl -fL \
"https://packages.ones.cn/release/${TARGET_ONES_VERSION}/kubernetes/images/upgrade-ones-images-${OS_ARCH}.sh" | \
SRC_ONES_VERSION="${CURRENT_ONES_VERSION}" \
MODE="offline-package" \
bash -
脚本会在当前目录生成:
${CURRENT_ONES_VERSION}-to-${TARGET_ONES_VERSION}-new-images-linux-${OS_ARCH}.tar