[#37] swarm 部署优化

This commit is contained in:
2025-11-04 09:34:42 +08:00
parent 4ed5c64804
commit c8279997a4
7 changed files with 234 additions and 29 deletions

View File

@@ -0,0 +1,26 @@
# Argus 多机部署(Docker Swarm + External Overlay)
- 前提:Docker ≥ 20.10;Manager/Worker 节点开放 2377/tcp、7946/tcp+udp、4789/udp。
- DNS:Bind9 为统一权威,解析 *.argus.com 至部署机固定对外主机 IP。
## 在部署机(Manager)
- 初始化 Swarm:`docker swarm init --advertise-addr <manager_ip>`
- 创建 overlay:`docker network create --driver overlay --attachable argus-sys-net`
- 解压离线包后执行:
- `cd scripts && sudo ./server-prepare-dirs.sh`
- `./server-install.sh`(会验证 Swarm 状态、确保 overlay 存在、写入 dns.conf)
- `./server-selfcheck.sh`(失败会自动触发诊断)
## 在节点机(Worker 或非 Docker 主机)
- Swarm Worker:执行 Manager 的 `docker swarm join ...`;
- 运行客户端容器:
- `docker run -d --name argus-metric-node-001 --network argus-sys-net -v /data/argus/agent:/private/argus/agent argus-sys-metric-test-node:latest sleep infinity`
- 进入容器安装(先 IP 引导,后域名):
- `curl -u ftpuser:*** -fsSL ftp://<FTP_IP>:21/setup.sh -o /tmp/setup.sh && chmod +x /tmp/setup.sh`
- `AGENT_ENV=dev AGENT_USER=alice AGENT_INSTANCE=node001 MASTER_ENDPOINT=http://master.argus.com:3000 /tmp/setup.sh --server ftp.argus.com --user ftpuser --password '***' --port 21`
## 关键点
- 首次必须使用 FTP 的 IP 引导(下载 setup.sh 与 dns.conf)
- MASTER_ENDPOINT 永远使用域名:`http://master.argus.com:3000`
- docker compose 改为 external overlay;容器内不使用 Docker 服务名;web-proxy 与组件上游统一用域名