You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

能否为Prometheus Operator的ScrapeConfig配置代理?

问题解答

是的,当前Prometheus Operator的ScrapeConfig CRD确实不支持直接配置proxy_url字段——不管是针对服务发现端点(比如你的http_sd_configs)还是最终的抓取目标。

原因

Prometheus Operator的ScrapeConfig CRD是对原生Prometheus抓取配置的子集封装,Operator团队为了保持CRD的简洁性、适配Kubernetes原生工作流,并没有暴露所有原生Prometheus配置项,proxy_url就是其中未被纳入的字段之一。

可行解决方案

针对你需要为Google Cloud Run目标动态生成对应受众ID令牌的场景,推荐以下方案:

1. 用Sidecar代理处理认证+转发

将自定义代理作为Sidecar部署在Prometheus Pod中,通过relabel_configs把抓取请求导向本地代理,由代理负责生成对应受众的令牌并转发到目标:

apiVersion: monitoring.coreos.com/v1alpha1
kind: ScrapeConfig
metadata:
  name: foo
spec:
  jobName: foo
  httpSDConfigs:
  - url: http://service-discovery:8080
    refreshInterval: 1m
  relabelings:
    # 将目标地址重写为本地代理地址
    - sourceLabels: [__address__]
      targetLabel: __address__
      replacement: localhost:7777
    # 从服务发现元数据中提取目标受众,传递给代理
    - sourceLabels: [__meta_cloud_run_service]
      targetLabel: __proxy_audience__

你的代理程序可以读取Prometheus请求中的__proxy_audience__标签(通过请求头或自定义参数传递),生成对应受众的ID令牌,再将请求转发到原Google Cloud Run目标。

2. 适配Google Cloud Run的专用认证方案(局限性说明)

如果你的代理逻辑仅用于Google Cloud Run的认证,可以尝试用Kubernetes Workload Identity结合Prometheus的google_oauth2配置:

  • 给Prometheus ServiceAccount绑定具备Cloud Run访问权限的IAM角色
  • 在ScrapeConfig中配置googleOAuth2认证:
    apiVersion: monitoring.coreos.com/v1alpha1
    kind: ScrapeConfig
    metadata:
      name: foo
    spec:
      jobName: foo
      httpSDConfigs:
      - url: http://service-discovery:8080
        refreshInterval: 1m
      authorization:
        type: OAuth2
        credentials:
          name: prometheus-gcp-sa
          key: service-account.json
    

注意:原生Prometheus的google_oauth2无法动态为每个目标设置不同受众,如果你必须针对每个目标使用专属受众,还是Sidecar代理方案更灵活。

针对服务发现端点的代理需求

如果你的服务发现端点本身需要通过代理访问,目前ScrapeConfig的httpSDConfigs也不支持代理配置,可以:

  • 在集群内部部署一个反向代理,专门转发服务发现请求,ScrapeConfig指向这个内部代理地址,由它处理外部代理逻辑
  • 若有能力维护自定义Operator版本,可修改Prometheus Operator代码,添加对proxy_url字段的支持,但这需要长期维护成本

内容的提问来源于stack exchange,提问作者DazWilkin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 08:17:37