[#50] x86机器使用qemu模拟方式安装部署arm版本安装包,当前未精简版,只有简单的node exporter功能,删减日志,GPU指标功能,仍使用Swarm组网
This commit is contained in:
@@ -0,0 +1,154 @@
|
||||
# ARM Client-CPU 安装指南(client_arm)
|
||||
|
||||
本包用于在 ARM64 CPU 节点上部署 Argus 的最小客户端:
|
||||
|
||||
- `argus-agent`(负责注册/上报状态到 master)
|
||||
- `node-exporter`(暴露该节点的系统指标)
|
||||
|
||||
> 注意:本 ARM 客户端包 **不包含 GPU/DCGM exporter 和 Fluent Bit**,仅用于 CPU 节点 metrics。
|
||||
|
||||
---
|
||||
|
||||
## 1. 前置条件
|
||||
|
||||
- 目标机器为 ARM64(例如:aarch64 服务器 / 节点);
|
||||
- 已安装 Docker 和 docker compose(v2,支持 `docker compose` 命令);
|
||||
- 能访问 master 所在网络,或已经通过 overlay 网络加入到与 server 相同的 `argus-sys-net` 中。
|
||||
|
||||
如采用 overlay 网络(Swarm 模式),需提前创建 `argus-sys-net`:
|
||||
|
||||
```bash
|
||||
docker network create --driver overlay argus-sys-net || true
|
||||
```
|
||||
|
||||
如仅使用本地 bridge 网络,可将 compose 中 `networks: argus-sys-net` 调整为本地自定义 network。
|
||||
|
||||
---
|
||||
|
||||
## 2. 解压和加载镜像
|
||||
|
||||
假设你已经将 `client_arm_YYYYMMDD.tar.gz` 拷贝到 ARM 节点:
|
||||
|
||||
```bash
|
||||
tar -xzf client_arm_YYYYMMDD.tar.gz
|
||||
cd client_arm/YYYYMMDD
|
||||
```
|
||||
|
||||
加载 CPU node 镜像:
|
||||
|
||||
```bash
|
||||
for f in images/*.tar.gz; do
|
||||
gunzip -c "$f" | docker load
|
||||
done
|
||||
```
|
||||
|
||||
可以通过:
|
||||
|
||||
```bash
|
||||
docker images | grep 'argus-sys-metric-test-node-arm64'
|
||||
```
|
||||
|
||||
确认镜像已加载。
|
||||
|
||||
---
|
||||
|
||||
## 3. 配置 .env
|
||||
|
||||
进入 compose 目录:
|
||||
|
||||
```bash
|
||||
cd compose
|
||||
cp .env.example .env
|
||||
```
|
||||
|
||||
需要填写的关键字段:
|
||||
|
||||
- `MASTER_ENDPOINT`
|
||||
- 例如:`http://master.argus.com:3000` 或 `http://<Server-IP>:32300`
|
||||
- `AGENT_ENV` / `AGENT_USER` / `AGENT_INSTANCE`
|
||||
- 用于识别环境、用户和实例,在 UI 中区分节点:
|
||||
- 示例:`AGENT_ENV=prod`, `AGENT_USER=ops`, `AGENT_INSTANCE=node001`
|
||||
- `CPU_NODE_HOSTNAME`
|
||||
- 节点在配置中的 hostname,一般与宿主 `hostname` 一致,例如 `swarm-metric-node-001`。
|
||||
- `ARGUS_BUILD_UID` / `ARGUS_BUILD_GID`
|
||||
- 用于挂载目录 `/private/argus/agent` 的权限映射。
|
||||
|
||||
例如:
|
||||
|
||||
```env
|
||||
PKG_VERSION=20251124
|
||||
NODE_CPU_IMAGE_TAG=argus-sys-metric-test-node-arm64:20251124
|
||||
|
||||
COMPOSE_PROJECT_NAME=argus-client-arm
|
||||
|
||||
MASTER_ENDPOINT=http://master.argus.com:3000
|
||||
AGENT_ENV=dev2
|
||||
AGENT_USER=yuyr
|
||||
AGENT_INSTANCE=node001sX
|
||||
CPU_NODE_HOSTNAME=swarm-metric-node-001
|
||||
|
||||
ARGUS_BUILD_UID=1000
|
||||
ARGUS_BUILD_GID=1000
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 4. 准备挂载目录
|
||||
|
||||
包中已经预创建 `private/argus/agent` 目录:
|
||||
|
||||
- `../private/argus/agent`
|
||||
|
||||
可以根据需要设置所有者和权限:
|
||||
|
||||
```bash
|
||||
cd ..
|
||||
sudo chown -R $UID:$GID private/argus
|
||||
```
|
||||
|
||||
确保与 `.env` 中的 `ARGUS_BUILD_UID/GID` 一致。
|
||||
|
||||
---
|
||||
|
||||
## 5. 启动客户端容器
|
||||
|
||||
在 `compose/` 目录执行:
|
||||
|
||||
```bash
|
||||
docker compose --env-file .env up -d
|
||||
```
|
||||
|
||||
查看状态:
|
||||
|
||||
```bash
|
||||
docker compose ps
|
||||
```
|
||||
|
||||
预期看到:
|
||||
|
||||
- `argus-metric-cpu-node` 处于 `Up` 状态。
|
||||
|
||||
---
|
||||
|
||||
## 6. 在 server 端验证
|
||||
|
||||
在 server 侧(master + Prometheus + Grafana 已经通过 ARM server 包部署):
|
||||
|
||||
1. 在 master 的 UI 或 API 中:
|
||||
- `GET /api/v1/master/nodes` 应能看到新节点,`name=CPU_NODE_HOSTNAME`;
|
||||
2. 在 Prometheus 中:
|
||||
- `up{job="node"}` 中应有当前节点记录,且 `value=1`;
|
||||
- 可以通过 `node_load1{hostname="swarm-metric-node-001"}` 等表达式查看指标;
|
||||
3. 在 Web 门户 / Grafana:
|
||||
- 节点列表页面中能看到该节点;
|
||||
- 通过“按 hostname 的节点面板”查看对应指标。
|
||||
|
||||
---
|
||||
|
||||
## 7. 注意事项
|
||||
|
||||
- ARM 客户端包只负责“CPU 节点 metrics”,不包含 GPU/DCGM 或 Fluent Bit;
|
||||
- 如需要 GPU 支持,请继续使用 `client_gpu` 包,并部署在 x86_64 + NVIDIA GPU 节点上;
|
||||
- ARM 节点的网络连通性(到 master / Prometheus)需要运维侧提前规划;
|
||||
本包不做网络路由/防火墙配置,仅假定可以直接访问 `MASTER_ENDPOINT`。
|
||||
|
||||
Reference in New Issue
Block a user