ONES 离线初装
操作步骤
- 环境检测
- 在线下载离线安装包
- 复制安装包到内网服务器
- 执行安装脚本
- 初始化 ONES 系统
- 注册证书与激活
外网服务器
环境检测
安装之前建议先针对当前安装环境进行环境检测。注意是对安装服务器进行环境检测。
在线下载离线安装包
下载最新版本的离线安装包, 如果想要下载指定版本安装包,参考下方 FAQ
curl https://packages.ones.cn/release/latest/build_offline_pkg_linux_amd64.sh | bash -
打包过程中,默认会占用主机的5000
端口。 如果5000
端口已被占用,可以指定端口,比如: 5001 , 把下面的 <port>
替换为指定的端口,然后执行下面的命令配置端口
export TMP_PORT=<port>
打包完成后,会在当前目录下,生成 install_linux_amd64.sh
和 offline_pkg_<ones-version>.tar
复制安装包到内网服务器
你可以通过任意方式(比如 scp、rsync等),把上一步打出的离线包 install_linux_amd64.sh
和 offline_pkg_<ones-version>.tar
,复制到内网离线主机。
比如:把 install_linux_amd64.sh
和 offline_pkg_<ones-version>.tar
存放到内网离线主机的 /tmp 目录下。
内网服务器
为了 ONES 能够稳定运行,开始安装之前请一定要确保您修改了内核参数。 修改内核参数
变量修改
在执行安装脚本之前,我们可以通过设置环境变量的方式来调整部署参数。如果没有特别需求可以跳过这一步,使用默认值即可。
可以调整的环境变量如下:
环境变量 | 默认值 | 说明 |
---|---|---|
NODE_PORT_RANGE | "30000-32767" | 指定k3s的service-node-port-range |
ONES_PORT | "30011" | 指定ONES系统访问端口, 注意:该端口需要在 NODE_PORT_RANGE 指定的端口范围内 |
ONES_DATA_DIR | "/data/ones" | 指定ONES系统数据存储目录 |
export ONES_DATA_DIR=/home/ones
# 其他环境变量也可以使用相似的方式进行修改
安装 ONES 系统
#<ones-version>替换成对应版本
OFFLINE_PKG=/tmp/offline_pkg_<ones-version>.tar bash /tmp/install_linux_amd64.sh
环境check
安装的过程中会进行环境检测,如果看到类似如下输出,代表环境检测失败。需要先进行修复然后安装
********check result********
+------------------------------+---------------------------------------+------------------+--------------------------------------------------------------------------+
| check item | situation | result | description |
+------------------------------+---------------------------------------+------------------+--------------------------------------------------------------------------+
| Swap | off | pass | |
| Port | | pass | |
| OSVersion | 7.9.2009 | pass | |
| SELinuxStatus | Disabled | pass | |
| CPU-Cores | 8 | pass | |
| TimeZone | Asia/Shanghai | pass | |
| IO | IO write=295MB/s, IO read=6.1GB/s | pass | |
| Umask | 0022 | pass | |
| Memory | 15G | pass | |
| kernel | 3.10.0-1127.19.1.el7.x86_64 | pass | |
| DataMount | mount path is / | pass | |
| DataAvailable | data disk( / ) available size is 139G | pass | |
| User-Group | Users and groups are OK | pass | |
| Transparent-Hugepage Enabled | [always] | no pass | transparent_hugepage enabled needs to be madvise, but it is [always] now |
+------------------------------+---------------------------------------+------------------+--------------------------------------------------------------------------+
****************************
********adjust command tips********
+------------------------------+--------------------------------------------------------------------------------+
| check item | fix command |
+------------------------------+--------------------------------------------------------------------------------+
| Transparent-Hugepage Enabled | echo 'madvise' | sudo tee /sys/kernel/mm/transparent_hugepage/enabled |
+------------------------------+--------------------------------------------------------------------------------+
命令行的输出中有 fix command
命令可以参考。 修复完成后再次执行
OFFLINE_PKG=/tmp/offline_pkg_<ones-version>.tar bash /tmp/install_linux_amd64.sh
看到如下输出代表成功
[root@ones-cn-server-oper k3s]# OFFLINE_PKG=/tmp/offline_pkg.tar IMAGE_REGISTRY=localhost:5000 IMAGE_REGISTRY_REGISTRY_USER=" " IMAGE_REGISTRY_REGISTRY_PASSWORD=" " REGISTRY_DISABLE=false bash install.sh
INFO: 2023-07-11 16:55:54| Tue Jul 11 16:55:54 CST 2023| retry [ kubectl -n kube-system rollout status sts registry --timeout=30s ], remaining 600 seconds
INFO: 2023-07-11 16:56:06| registry ready
INFO: 2023-07-11 16:56:06| deploy registry ok
INFO: 2023-07-11 16:56:06| load images to registry...
INFO: 2023-07-11 16:56:06| load images from offline_pkg/images
INFO: 2023-07-11 16:56:06| tar -zxf /root/offline/offline_pkg/images/ones_images.tar.gz -C /data/ones/registry
INFO: 2023-07-11 16:59:12| load images to registry ok
INFO: 2023-07-11 16:59:13| Please choose one of the methods to continue installing ONES.
INFO: 2023-07-11 16:59:13| 1.web page: Bootstrap information for deploying ONES:
If the server is in a private cloud, please use this internal address to access http://10.0.0.201:30011
If access fails, you can choose the internal network ip by yourself, (such as ip -br a | grep -w UP)
If the server is in the public cloud, please use this external address to access http://<external_ip>:30011
If access fails, you can choose the external network ip by yourself, (such as curl ip.gs)
If access still fails, please contact the server administrator to troubleshoot. (For example, enable security group rules.)
INFO: 2023-07-11 16:59:13| 2.Command line: Bootstrap information for deploying ONES:
1. Initial configuration: ones-ai-k8s.sh make init-config
2. Deploy ONES: ones-ai-k8s.sh bash script/ones/deploy-ones.sh
If the deployment of ONES fails, you can use 'kubectl get po -n ones' and other commands to troubleshoot the problem and try again.
INFO: 2023-07-11 16:59:13| run complete!
INFO: 2023-07-11 16:59:13| took 499 seconds to complete.
WARN: 2023-07-11 16:59:13| You can view the boot information again by: ones-boot-info.sh
WARN: 2023-07-11 16:59:13| deployment-tool usage:
*) enter ones-ai-k8s by: ones-ai-k8s.sh
*) execute ones-ai-k8s commands directly by: ones-ai-k8s.sh <command>. For example: ones-ai-k8s.sh make config-ones
WARN: 2023-07-11 16:59:13| you can delete k3s only by: k3s-uninstall.sh
WARN: 2023-07-11 16:59:13| you can delete all by: all-uninstall.sh
WARN: 2023-07-11 16:59:13| you can clean offline_pkg(12G) by: rm -f /tmp/offline_pkg.tar
将控制台输出的 http://<external_ip>:30011 中 external_ip 替换为你服务器的 IP 就能进入安装器了
配置 ONES
打开控制台中的链接进入 web 安装界面
创建团队并设置团队名称
配置时区、语言
ONES 支持时区与语言切换,请设置初始团队区域与语言。
创建「团队负责人」
「团队负责人」是系统第一个用户,具有最高的权限。为保证你的帐号安全,请确保填写的邮箱地址能正常接收邮件。
如果当前ONES版本小于【LTS v3.14.129】,或者小于【Feature v6.0.55】
请在config/private.yaml
中新增以下配置:
fluentOverlay: "only-ones-logging"
启动 ONES
完成最后一步设置后,将启动 ONES,启动过程将耗时 30 分钟到若干小时不等(视实际硬件与网络环境而定)。
登录 ONES
系统初始化完成后,会自动跳转到登录页面;输入初始化过程设置的「团队负责人」账号密码登录进系统。
证书激活
ONES 证书激活请参考 离线授权。
重启服务器
为了保证安装服务的稳定性,建议安装完成之后重启一下服务器。
开启数据配置
开箱默认配置未开启数据备份,数据备份请参考 k3s单机版数据备份。
常见问题
常见安装失败原因:
- 镜像拉取失败
- 原因:在启动 ONES 过程中会出现,有可能因为网络原因导致镜像拉取失败。
- 解决方案:检查服务器网络连通性,确保网络正常连接后重新进行安装。
- 下载失败
- 原因:在终端执行脚本时,有可能因为网络原因导致安装包下载失败。
- 解决方案:检查服务器网络连通性,确保网络正常连接后重新进行安装。
- 设置了防火墙/接口限制导致集群通信异常
- 原因:安装了防火墙程序或者设置接口限制,会影响k3s集群通信异常。
- 解决方案:检查服务器网络连通性,确保网络正常连接后重新进行安装。
- 磁盘剩余空间不足
- 原因:由于服务器磁盘存储空间不足,无法存放安装、解压所需下载内容导致安装失败。
- 示例:[环境检测过程的报错]、[安装过程磁盘空间不足报错]
- 解决方案:扩大磁盘空间
- 程序由于各种非bug问题异常退出
- 原因:程序运行过程可能由于各种非bug问题导致异常退出
- 示例:[golang堆栈][python堆栈]
- 解决方案:重试当前命令
FAQ
下载指定 ONES 版本的安装器
# 1. 列出所有可用版本
curl https://packages.ones.cn/release/ones-versions.yaml
# 2. 指定ONES版本,比如: v3.14.0, 把下面的 <ones-version> 替换为指定的版本,然后执行下面的命令进行下载
curl https://packages.ones.cn/release/<ones-version>/build_offline_pkg_linux_amd64.sh | bash -