安装 NIC 和 DPU 代理

在您的主机上安装 NetQ 遥测代理,使用 NVIDIA ConnectX 适配器NVIDIA BlueField 数据处理单元 (DPU),使您可以跨设备跟踪清单数据和统计信息。DOCA 遥测服务 (DTS) 是在主机和 DPU 上运行以收集数据的代理。

在 ConnectX 主机上安装 DTS

要在具有 ConnectX 适配器的主机上安装和配置 DOCA 遥测服务 容器,请执行以下步骤

  1. NGC 目录 获取 DTS 容器镜像路径。选择获取容器,然后选择查看所有标签。复制 1.18.2-doca2.8.0-host 镜像路径。

  2. 在主机上使用 Docker 初始化 DTS 容器。对于 DTS_IMAGE 变量,使用在上一步中获取的镜像路径,并为 -i 选项配置您的 NetQ 服务器的 IP 地址

export DTS_IMAGE=nvcr.io/nvidia/doca/doca_telemetry:1.18.2-doca2.8.0-host
docker run -v "/opt/mellanox/doca/services/telemetry/config:/config" --rm --name doca-telemetry-init -ti $DTS_IMAGE /bin/bash -c "DTS_CONFIG_DIR=host_netq /usr/bin/telemetry-init.sh && /usr/bin/enable-fluent-forward.sh -i=10.10.10.1 -p=30001"
  1. 在主机上运行 DTS 容器
docker run -d --net=host                                                              \
              --privileged                                                            \
              -v "/opt/mellanox/doca/services/telemetry/config:/config"               \
              -v "/opt/mellanox/doca/services/telemetry/ipc_sockets:/tmp/ipc_sockets" \
              -v "/opt/mellanox/doca/services/telemetry/data:/data"                   \
              --rm --name doca-telemetry -it $DTS_IMAGE /usr/bin/telemetry-run.sh

修改抓取间隔

NetQ 中的 Prometheus 适配器 Pod 从您网络中的 ConnectX 适配器收集统计信息。默认抓取间隔为每分钟。如果要更改抓取间隔的频率,请进行调整,然后重新启动 netq-prom-adapter Pod,以开始使用更新的参数收集数据

  1. 通过 SSH 登录到您的 NetQ VM。

  2. 使用 kubectl edit cm prometheus-config 命令编辑 Prometheus ConfigMap。

  3. 编辑 scrape_interval 参数。

  4. 使用 kubectl get pods | grep netq-prom 命令检索当前 Pod 名称

cumulus@netq-server:~$ kubectl get pods | grep netq-prom
netq-prom-adapter-ffd9b874d-hxhbz                    2/2     Running   0          3h50m
  1. 通过删除正在运行的 Pod 来重启 Pod
kubectl delete pod netq-prom-adapter-ffd9b874d-hxhbz

在 DPU 上安装 DTS

要在 DPU 上安装和配置 DOCA 遥测服务 (DTS) 容器,请执行以下步骤

  1. NGC 目录 获取 DTS 容器镜像路径。选择获取容器,然后选择查看所有标签。复制 1.18.2-doca2.8.0-host 镜像路径。

  2. 使用以下命令删除任何当前的 DTS 配置

sudo rm -rf /opt/mellanox/doca/services/telemetry/config
  1. 将容器 yaml 配置文件检索到主机上。使用 NGC 说明调整 .yaml 配置文件部分中指定的路径。将其复制到 /etc/kubelet.d/doca_telemetry_standalone.yaml
wget --content-disposition https://api.ngc.nvidia.com/v2/resources/nvidia/doca/doca_container_configs/versions/2.0.2v1/files/configs/2.0.2/doca_telemetry.yaml -O /etc/kubelet.d/doca_telemetry_standalone.yaml
  1. 编辑 /etc/kubelet.d/doca_telemetry_standalone.yaml 文件的 containersinitContainers 部分中的 image,以设置在步骤 1 中检索到的容器镜像路径。

  2. 编辑 /etc/kubelet.d/doca_telemetry_standalone.yaml 文件的 initContainers 部分中的 command,以将 DTS_CONFIG_DIR 参数设置为 inventory_netq。将 fluent 转发 -i 选项配置为您的 NetQ 服务器 IP 地址,并将 -p 选项配置为 30001

  initContainers:
...
      command: ["/bin/bash", "-c", "DTS_CONFIG_DIR=inventory_netq /usr/bin/telemetry-init.sh && /usr/bin/enable-fluent-forward.sh -i=10.10.10.1 -p=30001"]

此步骤替换了 command: ["/bin/bash", "-c", "/usr/bin/telemetry-init.sh && /usr/bin/enable-fluent-forward.sh"] 的默认配置。

  1. 使用 service dpe restart 命令重启 DPE 服务。