首页/云/可观测性速查/kubernetes_sd:Kubernetes 服务发现
Prometheus 与采集64 条

kubernetes_sd:Kubernetes 服务发现

kubernetes_sd_configs 以集群 API 为数据源,按 role(node、pod、service、endpoints 等)生成目标候选,再用 relabel 筛选与改写;是采集 K8s 工作负载的标准方式。

可观测性速查云更新于 2026-10-12

常用 role

role对应的目标典型用途
node集群节点(kubelet)节点资源指标
podPod IP 与容器端口应用指标抓取
serviceService 虚拟 IPService 级端点发现
endpointsEndpoints 的每个后端按真实后端抓取
ingressIngress 规则入口探测类场景

按 Pod 注解筛选抓取目标(片段)

按 Pod 注解筛选抓取目标(片段)
- job_name: kubernetes-pods
  kubernetes_sd_configs:
    - role: pod
  relabel_configs:
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_scrape]
      action: keep
      regex: 'true'
    - source_labels: [__meta_kubernetes_pod_annotation_prometheus_io_path]
      target_label: __metrics_path__
      regex: '(.+)'
生产中通常由 Prometheus Operator 或平台自动化生成这套配置,手写时优先从官方示例起步。

易错点

  • __meta_* 标签只在 relabel 阶段可用,写进 target_label 前要确认来源标签真实存在
  • API server 权限或网络不通时服务发现静默失败,Targets 页面显示空列表

数据来源与参考

  • Prometheus 文档 · kubernetes_sd_config
  • prometheus-operator 项目文档
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌