跳到主要内容

ONES 集群安装说明

本文将引导您完成集群版 ONES 安装过程,默认使用内置数据库,默认使用本地存储+NFS共享存储、按需选配OSS存储。

本文适用于6.18.43+\6.43.13+\6.94.0+ 版本,低版本 ONES 集群部署请联系ONES工程师。

操作步骤

  1. 安装之前
  2. 下载安装包
  3. 执行安装脚本
  4. 证书激活
  5. 初始化配置

1.安装之前

正式安装ONES版本之前,需按序回答如下问题:

(1)是否满足基本环境要求,包括服务器配置、网络要求、操作系统要求、存储资源要求等?

具体说明参考环境要求

(2)是否执行了环境检测脚本?

具体说明参考环境检测

(3)是否已根据环境检测的提示进行了修复?

具体说明参考修复指南,比如是否修改了系统内核参数并已重启生效? 是否配置了正确的域名解析? 是否关闭了操作系统图形化界面? 是否配置了正确的服务器时间和时区、且集群3台设备之间的时间/时区一致?

(4)是否固定了服务器的IP地址和主机名?

如果没有,请手工修改网卡IP和hostname,并重启服务器来进一步验证。

(5)是否挂载了数据盘/索引盘/备份盘?

集群3台设备的数据盘挂载到/data目录下;索引盘挂载到/data/ones/ones-local-storage/tidb目录下;并写入/etc/fstab实现开机自动挂载。

集群测试环境的备份盘可挂载到第一台主机的/data/ones/minio/data目录下,正式环境必须提供单独的备份机或者OSS备份桶。

(6)是否准备了NFS盘/OSS?

NFS盘通过mount挂载到任意临时目录下、尝试写入文件,确保可读可写、I/O和延时达标;

OSS确保可正常访问,推荐使用类似ossutil的工具进行读写测试。

2 准备安装

下载最新的ONES离线安装包。 下载时间可能因网络带宽而异(通常为10-20分钟)。

#登录服务器以root用户运行
sudo su -
mkdir /data/pkg
cd /data/pkg

# 下载工具脚本
curl -O https://packages.ones.cn/release/latest/quickstart.sh

# 获取支持的版本信息
bash quickstart.sh --list-versions # optional, shows available builds

# 采用如下命令直接获取已打好的安装包,`<ones-version>`格式类似为v6.18.0:
bash quickstart.sh --version `<ones-version>` --download
# 命令执行完毕后,会提示安装包的具体路径

# 离线环境下,将该目录下的quickstart.sh和下载的ones_offline_pkg_*.tar.gz复制到离线服务器

3 执行安装脚本

3.1 默认目录修改(可选)

默认ONES系统数据存储目录为/data/ones,如需调整、可执行以下命令;否则可忽略该步骤

export ONES_DATA_DIR=/data/ones

3.2 部署安装器

(1) 主节点执行安装命令

#主节点部署
DEPLOY_MODE=ha bash quickstart.sh --offline-file /path/ones_offline_pkg_<version>_<arch>.tar.gz

(2)安装过程中的环境监测

安装过程会再次进行环境检测并尝试自动修复,如果修复成功则继续安装。

如果有无法修复的项目,则弹出提示需手工确认,此时可输入yes跳过并继续安装;或者联系ONES工程师进行修复。

(3)安装器部署成功提示

等待5-10分钟,看到 Run successfully 等如下图绿框输出,表示安装器在主节点上已部署成功。

(4)第2/3台节点执行安装命令

首先看上图前半部分提示,按照STEP 1 拷贝指定的离线包到第2/3台节点(图中第1个红框),再按照STEP 2在第2/3台节点上执行加入master的安装命令(图中第2个红框)

### 第2/3节点部署
# 拷贝join离线制品包至其他工作节点
scp /data/ones/ones-installer-pkg/cluster-plan/manual/join-bundle-amd64.tar.gz user@node:/tmp/
scp /data/ones/ones-installer-pkg/cluster-plan/manual/join.sh user@node:/tmp/

# 基于提示执行如下脚本,完成加入集群;可直接复制提示中第2个红框中的完整命令
JOIN_BUNDLE=/tmp/join-bundle-amd64.tar.gz \
JOIN_TOKEN=xxxxxxx \
JOIN_SERVER_URL=https://10.0.0.x:6443 \
JOIN_ROLE=server \
bash /tmp/join.sh

(5) 配置NFS

#首先挂载NFS到主服务器任意临时目录,比如挂载到/data/ones/nfs_share/目录下,实际情况请替换
mkdir -p /data/ones/nfs_share/data/ones/files
mkdir -p /data/ones/nfs_share/data/plugin
chmod 755 /data/ones/nfs_share/data/ones/files
chmod 755 /data/ones/nfs_share/data/plugin
# 主服务器完成配置对接
# 进入操作终端
ones-ai-k8s.sh
# 变更加入NFS配置
vi config/private.yaml
# 如下配置请进行替换
nasFilesEnable: true
nasServer: 100.xx.xx.xx
nasOnesFilePath: /mnt/sfs_cap/data/ones/files
nasOnesPluginPath: /mnt/sfs_cap/data/plugin
nasPVReclaimPolicy: Retain
nasNFSVersion: 3
nasV3MountOptions: "nolock,tcp"

#支持v4协议,同步调整上述两类参数如下:
#nasNFSVersion: 4
#nasV4MountOptions: "rsize=1048576,wsize=1048576,timeo=600,retrans=2,noresvport"

(6) 配置OSS(可选)

# 主服务器完成配置对接
# 进入操作终端
ones-ai-k8s.sh
# 变更加入NFS配置
vi config/private.yaml
# 如下配置请进行替换
dataS3Endpoint: "https://**.**.**"
dataS3AccessKeyID: "<your-access-key-id>"
dataS3SecretAccessKey: "<your-access-key-secret>"
dataS3Region: "cn-shenzhen"
dataS3ForcePathStyle: true
dataS3PublicBucket: "ones-public-files"
dataS3PrivateBucket: "ones-private-files"
dataS3TmpBucket: "ones-tmp-files"

(7)配置外部镜像仓(可选)

默认使用本地镜像仓,部署在节点1上、存在单点隐患;故推荐使用客户提供的外部镜像仓服务

# 主服务器完成配置对接
# 进入操作终端
ones-ai-k8s.sh
# 变更加入镜像仓配置
vi config/private.yaml
# 如下配置请进行替换
# dockerRegistryHost配置项说明
dockerRegistryHost: ""
# dockerRegistryUserName 私有部署镜像仓的username
dockerRegistryUserName: ""
# dockerRegistryToken 私有部署镜像仓的token
dockerRegistryToken: ""

#保存后退出到宿主机安装目录下,执行如下命令把镜像推到外部镜像仓
SYNC_ONLY=true DEST_IMAGE_REGISTRY=registry.XXX.net DEST_IMAGE_USER=admin DEST_IMAGE_PASSWD='xxxx' OFFLINE_PKG=ones_offline_pkg_<version>_<arch>.tar.gz bash quickstart.sh

3.3 安装ONES

再看图1提示可知,目前支持两种安装方式"1.web page"(图中第3个红框)和"2.Command line"(图中第4个红框),本文3.3节有两种方式,方法1为页面化安装、方法2为命令行安装,任选其一即可。注意:当前页面化安装只支持时区为东八区,如果非东八区、请联系ONES工程师处理。

方法1:页面化安装 ONES

将控制台输出的 http://<external_ip>:30012external_ip 替换为你服务器的 IP 就能进入安装器页面

(1) 打开控制台中的链接进入 web 安装界面

(2) 创建团队并设置团队名称

(3) 配置时区、语言;ONES 支持时区与语言切换,请设置初始团队时区与语言。

(4)创建「团队负责人」;「团队负责人」是系统第一个用户,具有最高的权限。为保证你的账号安全,请确保填写的邮箱地址能正常接收邮件。

(5)启动 ONES;完成最后一步设置后,将启动 ONES,首次启动过程将耗时 30 分钟不等(视实际硬件而定)。

方法2: 命令行安装ONES

(1)进入安装器,执行安装命令

#进入安装程序
ones-ai-k8s.sh
#执行初始化配置
make init-config

(2)配置时区、语言;ONES 支持时区与语言切换,请设置初始团队时区与语言。

(3)创建团队;创建第一个团队并设置团队名称

(4)创建「团队负责人」;「团队负责人」是系统第一个用户,具有最高的权限。为保证你的账号安全,请确保填写的邮箱地址能正常接收邮件。

(5)部署 ONES 服务;完成最后一步设置后,将部署 ONES,首次启动过程将耗时 30 分钟不等(视实际硬件而定)。请监控终端以跟踪进度,一旦所有组件都运行起来,ONES 即可使用。

ones-ai-k8s.sh
bash script/ones/deploy-ones.sh

3.4 登录 ONES

按照提示的访问方式,打开登录页面 http://IP:30011 ;输入初始化过程设置的「团队负责人」账号密码登录进系统。

4 证书激活

参考自助激活,登录 ONES证书中心、绑定ServerID、下载证书, 然后登录进ONES系统上传证书并激活。

激活成功约5分钟后,再打开[配置中心]--[应用管理]检查是否有异常的插件,如有、联系ONES工程师处理。

5 初始化配置

在正式上线前,参考 ONES 上线前必备配置按需操作。