datadog/cluster-agentDatadog Cluster Agent是Datadog推出的容器化组件,专为Kubernetes集群设计,以Docker镜像形式分发。作为集群级监控中枢,其核心职责是聚合集群范围的监控数据、协调节点级Datadog Agent、优化资源占用,并为集群管理提供统一的监控视角。
自动采集并聚合集群范围内的关键指标,包括节点资源(CPU/内存/磁盘)使用率、Pod生命周期状态、命名空间资源配额、PV/PVC绑定状态等,支持按集群、命名空间、工作负载等维度过滤分析。
实时捕获Kubernetes API Server事件(如Pod创建/删除、部署失败、节点NotReady等),并转发至Datadog事件流,支持与监控指标联动分析。
通过集中分发配置(如监控规则、过滤策略),减少节点级Agent的重复计算;动态调整节点Agent的采集范围,避免资源浪费。
作为Kubernetes外部指标提供者(External Metrics Provider),支持基于自定义指标(如业务QPS、队列长度)配置HPA,实现按需扩缩容。
检测集群RBAC权限配置、网络策略合规性、镜像拉取策略等安全相关配置,生成合规报告并告警异常项。
支持多副本部署,通过Leader选举机制确保集群故障时监控服务不中断。
Cluster Agent通常通过Kubernetes Deployment部署,示例配置片段如下:
yamlapiVersion: apps/v1 kind: Deployment metadata: name: datadog-cluster-agent namespace: datadog spec: replicas: 1 # 高可用场景可设为2+,配合Leader选举 selector: matchLabels: app: datadog-cluster-agent template: metadata: labels: app: datadog-cluster-agent spec: serviceAccountName: datadog-cluster-agent containers: - name: cluster-agent image: gcr.io/datadoghq/cluster-agent:latest # 或指定版本标签(如7.47.0) resources: limits: cpu: 500m memory: 512Mi requests: cpu: 200m memory: 256Mi env: - name: DD_API_KEY valueFrom: secretKeyRef: name: datadog-secrets key: api-key - name: DD_SITE value: "datadoghq.com" # 国内用户可设为"datadoghq.cn" - name: DD_CLUSTER_AGENT_AUTH_TOKEN valueFrom: secretKeyRef: name: datadog-cluster-agent-auth key: token - name: DD_COLLECT_KUBERNETES_EVENTS value: "true" - name: DD_EXTERNAL_METRICS_PROVIDER_ENABLED value: "true"
Cluster Agent依赖Kubernetes API和节点Agent协同,通常不直接通过docker run部署。若需测试,需挂载Kubernetes配置并配置必要环境变量:
bashdocker run -d \ --name datadog-cluster-agent \ -e DD_API_KEY=<YOUR_API_KEY> \ -e DD_SITE=datadoghq.com \ -e DD_CLUSTER_AGENT_AUTH_TOKEN=<AUTH_TOKEN> \ -e KUBERNETES_SERVICE_HOST=<K8S_API_HOST> \ -e KUBERNETES_SERVICE_PORT=6443 \ -v /var/run/secrets/kubernetes.io/serviceaccount:/var/run/secrets/kubernetes.io/serviceaccount \ gcr.io/datadoghq/cluster-agent:latest
| 环境变量 | 说明 | 必填 | 默认值 |
|---|---|---|---|
DD_API_KEY | Datadog API密钥,用于身份验证和数据上报 | 是 | - |
DD_SITE | Datadog站点,有效值:datadoghq.com(国际)、datadoghq.cn(国内) | 否 | datadoghq.com |
DD_CLUSTER_AGENT_AUTH_TOKEN | 节点Agent与Cluster Agent通信的共享令牌,需与节点Agent配置一致 | 是 | - |
DD_COLLECT_KUBERNETES_EVENTS | 是否收集Kubernetes事件,有效值:true/false | 否 | true |
DD_EXTERNAL_METRICS_PROVIDER_ENABLED | 是否启用外部指标提供(支持HPA),有效值:true/false | 否 | false |
DD_CLUSTER_NAME | 集群名称,用于在Datadog平台区分多集群数据 | 否 | 自动从K8s API获取 |
DD_RESOURCES_LIMITS_ENABLED | 是否上报Pod资源限制/请求指标,有效值:true/false | 否 | true |
更多配置(如指标采集间隔、自定义标签、代理设置)可通过挂载配置文件实现,详细参数见官方文档。
详细配置、兼容性矩阵及最佳实践请参考Datadog Cluster Agent官方文档。
kubectl logs <cluster-agent-pod> -n datadog查看容器日志;Infrastructure > Kubernetes > Clusters检查集群数据是否上报;manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务