argus/deployment/build/templates/client/QUICK_NODE_DEPLOY_zh.md

3.1 KiB
Raw Blame History

Argus Metric 节点快速部署Overlay 网络容器)

本文档给出在 Docker Swarm external overlay 网络中,快速拉起一个测试节点并完成注册的最小可行步骤。

前提

  • 服务端已在 Manager 机安装完成并运行良好(server-selfcheck 通过)。
  • Overlay 网络名称:argus-sys-net(默认)。
  • 已通过 FTP 发布 setup.sh 与客户端包,且能从 FTP 获取 LATEST_VERSION
  • 用于测试的镜像:argus-sys-metric-test-node:latest 已存在于目标机器。

步骤

  • 获取 FTP 和 Bind 的 overlay IP在 Manager 上执行)

    • FTPIP=$(docker inspect -f '{{ (index .NetworkSettings.Networks "argus-sys-net").IPAddress }}' argus-ftp)
    • BINDIP=$(docker inspect -f '{{ (index .NetworkSettings.Networks "argus-sys-net").IPAddress }}' argus-bind-sys)
    • echo "FTP=$FTPIP BIND=$BINDIP"
  • 准备宿主挂载目录(以 s4 为例)

    • mkdir -p /home2/yuyr/deploy/test-metric-node/s4
  • 启动测试节点容器(接入 overlay

    • docker run -d --name argus-metric-test-node-s4 \ --hostname dev2-yuyr-node002s4 \ --network argus-sys-net \ -v /home2/yuyr/deploy/test-metric-node/s4:/private/argus/agent \ argus-sys-metric-test-node:latest sleep infinity
  • 在容器内执行安装(先用 FTP IP 引导DNS 指向 Bind

    • docker exec -it argus-metric-test-node-s4 bash
    • echo "nameserver $BINDIP" > /etc/resolv.conf
    • curl --ftp-method nocwd -u ftpuser:ZGClab1234! -fsSL "ftp://$FTPIP:21/setup.sh" -o /tmp/setup.sh
    • chmod +x /tmp/setup.sh
    • export AGENT_ENV=dev2 AGENT_USER=yuyr AGENT_INSTANCE=node002s4
    • export MASTER_ENDPOINT=http://master.argus.com:3000
    • /tmp/setup.sh --server "$FTPIP" --user ftpuser --password 'ZGClab1234!' --port 21
    • 说明setup 会自动执行安装后自检(最多 5 分钟),无需手动轮询。

验证(推荐在容器内执行,避免宿主权限问题)

  • 查看 node.json 关键字段

    • cat /private/argus/agent/dev2-yuyr-node002s4/node.json | jq '{last_report, health}'
    • 期望:四个 health 全部 healthy等待 ≥70s 再查看,last_report 持续更新。
  • 指标端口

    • curl -s -o /dev/null -w '%{http_code}\n' http://localhost:9100/metrics(期望 200
    • (如测试 GPUcurl -s -o /dev/null -w '%{http_code}\n' http://localhost:9400/metrics(有 GPU 时 200
  • 与服务端连通(域名经 Bind 解析)

    • curl -s -o /dev/null -w '%{http_code}\n' http://master.argus.com:3000/readyz(期望 200
    • curl -s -o /dev/null -w '%{http_code}\n' http://es.log.argus.com:9200/_cluster/health(期望 200

(可选)在服务器主机侧观察 Prometheus 目标更新

  • cat /home2/yuyr/deploy/versions/<VERSION>/private/argus/metric/prometheus/nodes.json | jq '.'

常见提示

  • 初次安装后短时 curl 域名返回 000/超时属正常,多等待 12 分钟 DNS 同步/组件冷启动完成。
  • 如在宿主直接读取挂载的 node.json 报 Permission denied请使用 docker exec 在容器内查看。
  • MASTER_ENDPOINT 固定使用域名 http://master.argus.com:3000,客户端无需固定 IP。