跳到主要内容

打开管理后台

本文说明如何在生产环境打开 ONES 管理后台。操作前请先进入操作容器。

1. 进入操作容器

在部署机上执行:

./ones-ai-k8s.sh

进入容器后,切到部署目录:

cd /data/ones/ones-ai-k8s

2. 修改配置

先备份当前配置:

cp config/private.yaml config/private.yaml.bak-$(date +%Y%m%d-%H%M%S)

编辑 config/private.yaml

vi config/private.yaml

确认文件中有以下 3 个配置:

baseURL: http://<ONES访问地址>
onesAdminBaseURL: http://<管理后台访问地址>
onesInstallerAPINodePort: <管理后台NodePort>

示例:

baseURL: http://172.16.80.64:30011
onesAdminBaseURL: http://172.16.80.64:30013
onesInstallerAPINodePort: 30013

配置要点:

  • baseURL 是用户访问 ONES 的地址。
  • onesAdminBaseURL 是用户访问管理后台的地址,不要带 /ones-admin 路径。
  • onesInstallerAPINodePort 是暴露 installer-api 的 NodePort,需确认端口未被占用,并已放通防火墙或安全组。
  • 管理后台最终访问地址是:onesAdminBaseURL + /ones-admin/

3. 应用配置

/data/ones/ones-ai-k8s 目录执行:

make setup-ones
make setup-installer-api
kubectl -n ones-installer rollout restart deploy/installer-api

说明:

  • make setup-ones 用于让 ONES / IDS 侧同步 baseURLonesAdminBaseURL,否则 IDS 登录可能报 redirect URI 未配置。
  • make setup-installer-api 用于创建或更新管理后台入口的 installer-api NodePort。
  • 重启 installer-api 用于确保管理后台自身读取最新配置。

等待命令执行完成后,确认服务已更新:

kubectl -n ones rollout status deploy/ones-identity-api-deployment
kubectl -n ones rollout status deploy/project-api-deployment
kubectl -n ones rollout status deploy/ones-project-api-deployment
kubectl -n ones-installer rollout status deploy/installer-api
kubectl -n ones-installer get svc installer-api-service-np

installer-api-service-np 的端口应显示为 80:<onesInstallerAPINodePort>/TCP

确认 IDS 侧已经识别管理后台地址:

kubectl -n ones exec deploy/ones-identity-api-deployment -- \
grep '"ones_admin_base_url"' /usr/local/ones-identity-api/config.json

输出中应包含 onesAdminBaseURL 对应的地址,例如:

"ones_admin_base_url": "http://172.16.80.64:30013"

4. 验证访问

用浏览器打开:

http://<管理后台访问地址>/ones-admin/

也可以在操作容器中用命令验证:

curl -sS -o /dev/null -w "%{http_code}\n" http://<管理后台访问地址>/ones-admin/

返回 200 表示页面可以访问。

如果需要确认后端 API 已启动,可执行:

curl -sS http://<管理后台访问地址>/ones-admin/api/auth/session

未登录时返回 401 是正常结果,表示管理后台 API 已经通了。