跳转到主要内容

集群资源

DMG 采集器部署为单个 DaemonSet,每个节点一个 pod。该清单(manifest)还会创建运行所需的最小 RBAC 资源。 该 DaemonSet 不会创建 Service 或 Ingress,代理没有监听端口。唯一的网络路径是从每个 pod 出站到 DAG_SHIP_URL 的 HTTPS 连接。

运行时配置

该 DaemonSet 配置如下:
  • privileged: true:bpf(2) 和 perf 环形缓冲区访问所必需。否则内核将拒绝加载这些程序。
  • hostPID: true:确保事件中的 pid 字段映射到真实的主机 PID,而非容器作用域内的 PID。否则仪表盘无法将代理上报的事件与你的运维人员实际通过 ps、crictl 或 kubectl exec 看到的进程相关联。
  • hostNetwork: true:允许在主机命名空间中进行网络观测。
  • dnsPolicy: ClusterFirstWithHostNet:确保正确的 DNS 解析(例如通过 VPC 的私有 Route 53)。

主机挂载

采集器使用三个只读主机挂载。不使用任何可写主机挂载。

安装

该清单使用七个占位符,由你在 apply 时进行替换。Kubernetes 清单包含在每个版本的 k8s/daemonset.yaml 中。
1

解压发布 tarball

2

替换占位符并应用

3

验证部署

容忍度(Tolerations)与节点选择

随附的清单会容忍标准的 CriticalAddonsOnly 污点(taint)。如果你的集群使用了专用节点池、带污点的系统池,或 GPU / 特殊硬件污点,请在 apply 前向 DaemonSet spec 中添加相应的 tolerations。该代理足够轻量,可以运行在集群中的每一个节点上(包括控制面节点和专用节点池)。若某个污点未被容忍,将造成检测流水线无法填补的可见性缺口。 如果你想排除特定节点,请添加 nodeAffinity。请确保将这些排除项记录在案,因为它们会造成明确的盲区。

升级

Hilt 会同时以 v1.<new>.<patch> 形式推送新镜像;在持续部署场景下,还会推送一个浮动标签(视你的通道而定,如 dev-latest、prod-latest 等)。 使用不可变标签升级:
使用浮动标签升级:
DaemonSet 滚动更新每次替换每个节点上的一个 pod;每个节点的事件流中断时间约为 1–2 秒。

卸载

无需重启节点,也不会残留任何主机制品。
最后修改于 2026年10月8日