AIOps 部署资源
本目录存放运维部署清单(与 frontend/src/components/deploy/ 应用发布模块无关)。
目录结构
deploy/
├── kubernetes/ # K8s 清单(./run.sh kubernetes 使用)
│ ├── namespace.yaml
│ ├── secret.yaml
│ ├── configmap.yaml
│ ├── mysql.yaml / redis.yaml
│ ├── deployment.yaml # embed 单容器,镜像 lghost/aiops:<tag>
│ ├── ingress.yaml
│ └── README.md
└── binary/
└── install.sh # 裸机 systemd 安装脚本(可选)
已移除
deploy/nginx/:旧版前后端分离 Nginx 容器方案已废弃,统一 embed 单端口 8080。
部署方式对比
| 方式 | 命令 | 架构 |
|---|---|---|
| Docker Compose | ./run.sh docker up |
MySQL + Redis + AIOps embed(3 容器,:8080) |
| 独立二进制 | ./run.sh build → ./aiops |
单文件 embed,项目根目录 |
| Kubernetes | ./run.sh kubernetes deploy |
embed 单 Pod + MySQL/Redis StatefulSet |
| 发版推送 | ./run.sh release v1.5.0 |
二进制 + lghost/aiops:v1.5.0 镜像 |
一、Docker Compose(推荐单机)
./run.sh docker up
./run.sh docker up v1.5.0 # 指定版本
# 访问
http://localhost:8080
http://localhost:8080/version
连接外部 MySQL/Redis 时使用根目录 docker-compose.k8s.yml。
生产前复制 .env.example 为 .env、填入随机密码和 JWT 并执行 chmod 600 .env。Compose 不再挂载 Docker Socket,K8s 清单不使用 hostNetwork;uploads 通过独立持久卷保存。
二、独立二进制(无 Docker)
本机构建
./run.sh build tag v1.5.0
./aiops version
./run.sh binary upgrade # 本机后台启动
远程 Linux 服务器(systemd)
# 1. 在 Linux 上构建,或从 CI 拷贝 linux/amd64 二进制
scp ./aiops deploy/binary/install.sh root@<server>:/tmp/
# 2. 安装
ssh root@<server> 'cd /tmp && bash install.sh install'
# 3. 配置并启动
vim /opt/aiops/config.yaml
systemctl start aiops
systemctl status aiops
Mac 上
./run.sh build产出 darwin 二进制,不能直接在 Linux 运行。Linux 部署请用 Docker 镜像或在 Linux 上编译。
三、Kubernetes
# 一键部署(构建镜像 + apply 全部清单)
./run.sh kubernetes deploy
./run.sh kubernetes deploy v1.5.0
# 滚动更新 + 推送 Docker Hub
./run.sh release v1.5.0
./run.sh kubernetes upgrade v1.5.0
# 运维
./run.sh kubernetes status
./run.sh kubernetes logs
./run.sh kubernetes delete
清单目录:deploy/kubernetes/
默认镜像:lghost/aiops:<tag>,NodePort 30080。
K8s 部署前必须替换 deploy/kubernetes/secret.yaml 中的 REPLACE_WITH_* 占位符;deployment.yaml 会一并应用 MySQL/Redis NetworkPolicy。详细流程见 kubernetes/README.md。
快速选择
| 环境 | 推荐 |
|---|---|
| 本地开发 | ./run.sh dev |
| 单机演示/测试 | ./run.sh docker up |
| 无 Docker 的 Linux | ./aiops + deploy/binary/install.sh |
| K8s 集群 | ./run.sh kubernetes deploy |
| 版本发布 | ./run.sh release v1.x |