# AIOps 三种部署方式 ## 部署方式对比 | 方式 | 适用场景 | 优点 | 缺点 | |------|---------|------|------| | **Docker Compose(双容器)** | 生产环境 | 前后端分离,nginx 高性能 | 需要 4 个容器 | | **Docker Compose(embed 单容器)** | 快速部署 | 1 个容器搞定,无需 nginx | 静态文件性能稍弱 | | **二进制部署** | 无 Docker 环境 | 一个文件 + systemd | 需要自行管理 MySQL/Redis | | **Kubernetes** | K8s 集群 | 标准化编排,弹性伸缩 | 需要 K8s 集群 | --- ## 方式一:Docker Compose(双容器,当前默认) ```bash # 开发机(75) cd /srv/aiops make docker-up # 构建并启动 # 生产机(150) cd /srv/aiops && git pull make docker-up ``` 架构:nginx(:80) → backend(:8080) + MySQL + Redis --- ## 方式二:Docker Compose embed 单容器 前端通过 Go `//go:embed` 嵌入后端二进制,不需要 nginx 容器。 ```bash cd /srv/aiops docker-compose -f docker-compose.embed.yml up -d --build # 或 make docker-embed ``` 架构:aiops-app(:80→:8080) + MySQL + Redis(3 个容器) --- ## 方式三:二进制部署(无 Docker) ### 在开发机构建 ```bash cd /srv/aiops make build-binary # 生成 ./aiops 单二进制(~30MB,前端已嵌入) ``` ### 在目标服务器部署 ```bash # 传两个文件到目标服务器 scp aiops deploy/binary/install.sh root@:/tmp/ # 安装(自动创建 systemd 服务 + 默认配置) ssh root@ cd /tmp && bash install.sh install # 修改数据库配置 vim /opt/aiops/config.yaml # 启动 systemctl start aiops ``` ### 管理 ```bash systemctl start aiops # 启动 systemctl stop aiops # 停止 systemctl restart aiops # 重启 systemctl status aiops # 状态 journalctl -u aiops -f # 日志 ``` 架构:aiops 二进制 + systemd(端口 8080 同时服务 API 和前端) > 前提:目标服务器需已安装 MySQL 8.0 + Redis 7 --- ## 方式四:Kubernetes 部署 ```bash cd /srv/aiops kubectl apply -f deploy/k8s/ ``` 详见 [deploy/k8s/README.md](../k8s/README.md) --- ## 快速选择 | 环境 | 推荐方式 | |------|---------| | 开发测试(75) | 方式一 docker-compose | | 生产环境(150) | 方式一 docker-compose | | 客户现场快速演示 | 方式二 embed 单容器 | | 内网无 Docker 服务器 | 方式三 二进制部署 | | K8s 集群 | 方式四 Kubernetes |