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

如何将可用Prometheus查询转为Prometheus Adapter规则并适配HPA

解决Prometheus Adapter自定义指标暴露问题

核心配置规则

要让Prometheus Adapter正确将你的请求速率指标暴露给K8s自定义Metrics API,直接将以下配置片段放到prometheus-adapter的Helm values.yaml中:

config:
  rules:
  - seriesQuery: 'starlette_requests_total{method="POST", path_template="/predict", pod!=""}'
    resources:
      overrides:
        kubernetes_namespace: {resource: "namespace"}
        kubernetes_pod_name: {resource: "pod"}
    name:
      matches: '^starlette_requests_total$'
      as: 'starlette_predict_post_requests_per_second'
    metricsQuery: 'rate(<<.Series>>[1m])'

配置说明

  • seriesQuery:筛选符合条件的Prometheus时间序列,必须包含pod标签(确保能关联到K8s Pod资源,避免无关联指标被过滤)
  • resources:映射Prometheus标签到K8s资源,这里适配kube-prometheus-stack默认采集的指标标签;如果你的指标用的是namespace/pod这类简化标签,直接替换对应字段即可
  • name:给暴露的自定义指标指定易识别名称,这里命名为starlette_predict_post_requests_per_second
  • metricsQuery:复用你的速率计算逻辑,<<.Series>>会自动替换为seriesQuery匹配到的序列

适配你的标签环境

如果你的starlette指标携带的K8s元标签是简化版(比如直接用namespace和pod),修改resources部分:

resources:
  overrides:
    namespace: {resource: "namespace"}
    pod: {resource: "pod"}

应用配置并验证

  1. 升级prometheus-adapter的Helm部署:
helm upgrade prometheus-adapter prometheus-community/prometheus-adapter -f your-custom-values.yaml -n <你的命名空间>
  1. 等待Pod重启后,检查自定义Metrics API是否返回指标:
kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1 | jq .

也可以直接查询特定资源的指标(替换<你的命名空间>):

kubectl get --raw /apis/custom.metrics.k8s.io/v1beta1/namespaces/<你的命名空间>/pods/*/starlette_predict_post_requests_per_second | jq .

HPA配置示例

指标正常暴露后,即可用它配置HPA实现自动扩缩容:

apiVersion: autoscaling/v2beta2
kind: HorizontalPodAutoscaler
metadata:
  name: predict-service-hpa
spec:
  scaleTargetRef:
    apiVersion: apps/v1
    kind: Deployment
    name: <你的Deployment名称>
  minReplicas: 1
  maxReplicas: 10
  metrics:
  - type: Pods
    pods:
      metric:
        name: starlette_predict_post_requests_per_second
      target:
        type: AverageValue
        averageValue: 100m  # 每个Pod每秒平均处理100个请求时触发扩容

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 00:43:27