2.6 KiB
2.6 KiB
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 - 解压离线包后执行:
./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.shAGENT_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 与组件上游统一用域名
找回/轮换 Swarm 加入令牌与解锁密钥
在任意一个 Manager 节点上执行以下命令即可查看或轮换加入令牌(join token):
- 查看加入 Worker 的命令:
docker swarm join-token worker
- 只打印 Worker 的 token:
docker swarm join-token -q worker
- 查看加入 Manager 的命令:
docker swarm join-token manager
- 只打印 Manager 的 token:
docker swarm join-token -q manager
在待加入节点执行(示例,替换 Manager_IP):
docker swarm join --token <上面查到的token> <Manager_IP>:2377
轮换 token(怀疑泄露或需要更新时):
- 轮换 Worker:
docker swarm join-token --rotate worker - 轮换 Manager:
docker swarm join-token --rotate manager
如果你指的是“解锁密钥”(autolock 的 unlock key),在 Manager 上:
- 查看:
docker swarm unlock-key - 轮换:
docker swarm unlock-key --rotate
提示:当看到 “This node is not a swarm manager.” 时,说明当前节点不是 Manager,需要到 Manager 节点执行,或在现有 Manager 上 docker node promote <NODE-ID> 将其提升为 Manager。