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

KEDA是否支持现有K8s HPA的两种Prometheus指标及缩容至0功能?

问题解答

KEDA完全支持你提到的两种指标类型,并且能同时满足取两个指标建议副本数最大值和缩容至0的需求,具体细节如下:

1. 两种指标的支持能力

Pod业务自定义指标(来自Prometheus)

KEDA的Prometheus触发器可以直接对接你的Prometheus实例,读取Pod上报的业务指标。配置时只需编写对应的PromQL查询语句,指定targetAverageValue为你要的目标平均值X,逻辑和原生HPA的Pod指标模式一致。

SQS队列长度指标

有两种实现方式可选:

  • 直接用KEDA的SQS触发器:无需通过Prometheus,直接调用AWS SQS API获取队列长度,配置更简单,直接设置queueLength为目标值Y即可;
  • 通过Prometheus读取:如果你的监控链路已经统一用Prometheus采集SQS指标,也可以用Prometheus触发器,编写PromQL查询出队列长度,设置targetValue为Y(因为队列长度是全局指标,不是Per-Pod维度)。

2. 取最大值的逻辑实现

KEDA默认支持在同一个ScaledObject中配置多个触发器,其核心逻辑就是取所有触发器计算出的建议副本数的最大值,完全匹配你的需求,不需要额外配置,只要把两个触发器都定义在ScaledObject里就行。

3. 缩容至0的配置

要实现缩容到0,只需在ScaledObject中做两个关键配置:

  • 设置minReplicaCount: 0;
  • 为每个触发器配置pollingInterval(指标轮询间隔)和cooldownPeriod(缩容冷却时间),当所有触发器的指标都低于阈值时,KEDA会自动将副本数缩至0。

简化配置示例

apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: your-app-scaler
spec:
  scaleTargetRef:
    name: your-deployment-name
  minReplicaCount: 0  # 开启缩容至0功能
  maxReplicaCount: 10  # 根据业务需求调整最大值
  triggers:
    # 触发器1:Pod业务指标(Prometheus)
    - type: prometheus
      metadata:
        serverAddress: http://prometheus.monitoring.svc:9090
        query: sum(your_business_metric{pod=~"your-app-.*"}) by (pod)
        targetAverageValue: "X"  # 替换为你的目标平均值,带单位(如"50")
    # 触发器2:通过Prometheus读取SQS队列长度
    - type: prometheus
      metadata:
        serverAddress: http://prometheus.monitoring.svc:9090
        query: aws_sqs_queue_length{queue="your-sqs-queue-name"}
        targetValue: "Y"  # 替换为你的目标队列长度
    # 可选:直接用SQS触发器(无需Prometheus)
    # - type: aws-sqs-queue
    #   metadata:
    #     queueURL: "https://sqs.your-region.amazonaws.com/1234567890/your-queue"
    #     queueLength: "Y"

注意事项

  • 确保KEDA的ServiceAccount有访问Prometheus服务的权限;
  • 如果使用SQS触发器,需要给KEDA的ServiceAccount配置AWS IAM权限(允许读取队列长度);
  • 缩容至0前确认你的应用无持久化状态,且支持优雅终止,避免数据丢失或服务中断。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 19:21:08