ONES 升级说明
本文将引导您完成单机版 ONES 升级过程;
如果按照ONES 集群安装说明部署,也可以参考本文升级ONES 集群。
操作步骤
- 升级前准备
- 升级操作
- 升级后操作
1.升级准备
1.1 升级前准备
在开始升级之前,参考ONES 升级注意事项第1章 进行检查。
1.2 查看可升级版本
通过以下命令选择一个可用的版本号,或联系ONES工程师确认具体版本号。
# 列出所有可用版本
curl https://packages.ones.cn/release/ones-versions.yaml
1.3 准备在线服务器下载升级包
- 如果运行 ONES 的服务器是离线的,需要找一台在线的服务器来制作差量包。然后将差量包拷贝到离线服务器上进行升级。
- 如果运行 ONES 的服务器是在线的,可以直接在运行 ONES 的服务器上进行升级。也可以提前准备一台在线服务器来制作差量包。然后将差量包拷贝到运行 ONES 的服务器上进行升级。
制作差量包
假定你当前的版本号是 v3.14.32 选择一个大于你当前ONES 版本的版本号 。比如: v3.15.25
#root账号登录服务器
sudo su -
#创建临时目录
mkdir -p /data/upgrade/
#下载升级包
curl https://packages.ones.cn/release/v3.15.25/build_offline_pkg_linux_amd64.sh | sudo SRC_ONES_VERSION=v3.14.32 IMAGE_REGISTRY_PORT=5001 bash -
等待10-20分钟(取决于网络带宽),直到看到以下输出,表示下载成功。

1.4 获取当前ONES数据目录
执行如下命令查找当前ONES数据目录,在下一步使用
kubectl -n ones-installer describe deploy installer-api | grep Path:
示例输出
Path: /data/ones/ones-installer-pkg/pkg
Path: /data/ones/ones-installer-pkg/config
Path: /data/ones/ones-installer-pkg/backups
如果输出结果有 /data/ones/ones-installer-pkg,则 ONES_DATA_DIR=/data/ones
如果输出结果有 /home/ones/ones-installer-pkg,则 ONES_DATA_DIR=/home/ones
2 升级操作
2.1 备份配置文件
升级前,请先执行备份文件的配置。
#进入容器后,根据版本选择如下1种备份方式即可
ones-ai-k8s.sh
#新版本采用命令备份
make backup-config
#老版本如果上述命令执行报错,请手工备份
filename=`date +"%Y%m%d-%H%M%S-$(date +%s.%6N)"`
mkdir -p config/backups/time-$filename
cp config/*.yaml config/backups/time-$filename/
#退出容器
exit
2.2 备份业务数据
升级前,执行数据备份任务;如果是外置数据库,请联系客户自行备份。
ones-ai-k8s.sh
# 手动全量备份
make mysql-base-backup NAMESPACE=ones
# 如果没有开启备份任务,该命令执行会报错
# 查看日志
make logs-mysql-xbackup NAMESPACE=ones
上述备份操作不影响业务,可提前完成;下述操作将影响配置和服务,请在变更窗口内执行!