argus/deployment/build/templates/docs/SWARM_DEPLOY_zh.md

2.6 KiB
Raw Blame History

Argus 多机部署Docker Swarm + External Overlay

  • 前提Docker ≥ 20.10Manager/Worker 节点开放 2377/tcp、7946/tcp+udp、4789/udp。
  • DNSBind9 为统一权威,解析 *.argus.com 至部署机固定对外主机 IP。

在部署机Manager

  • 初始化 Swarmdocker swarm init --advertise-addr <manager_ip>
  • 创建 overlaydocker 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.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 与组件上游统一用域名

找回/轮换 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怀疑泄露或需要更新时

  • 轮换 Workerdocker swarm join-token --rotate worker
  • 轮换 Managerdocker 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。