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

KEDA ScaledObject中ScalingModifiers失效报错及需求实现咨询

问题解决与替代方案

一、公式验证错误的原因与修复

你遇到的invalid argument for float(one)错误,是因为在ScalingModifiers的公式中直接引用触发器名称one不符合KEDA的语法规范。KEDA要求通过triggers.<triggerName>.value的格式来引用触发器的指标数值,这样才能正确解析为浮点型数据进行比较。

修正后的ScalingModifiers配置

scalingModifiers:
  formula: "triggers.one.value < 75 ? 3 : 5"
  metricType: "Absolute"
  • 用triggers.one.value替代one,获取CPU触发器的利用率数值
  • 将metricType设为Absolute,因为我们需要直接设置副本数(而非基于利用率的比例)
  • 公式逻辑:当CPU利用率低于75%时返回3,否则返回5,刚好匹配你的需求

二、替代方案:双ScaledObject分场景配置

如果ScalingModifiers的方式仍有问题,可以通过创建两个ScaledObject分别处理不同场景:

1. CPU利用率≥75%时的cron扩缩容

apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: cron-high-cpu-scaler
spec:
  scaleTargetRef:
    name: your-deployment-name
  minReplicaCount: 5
  maxReplicaCount: 5
  triggers:
    - metadata:
        desiredReplicas: '5'
        end: 20 8 * * *
        start: 10 8 * * *
      type: cron
  advanced:
    activationConditions:
      - condition: "triggers.cpu.value >= 75"
        triggers:
          - name: cpu-check
    triggers:
      - metadata:
          value: '75'
        metricType: Utilization
        name: "cpu-check"
        type: cpu

2. CPU利用率<75%时的cron扩缩容

apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
  name: cron-low-cpu-scaler
spec:
  scaleTargetRef:
    name: your-deployment-name
  minReplicaCount: 3
  maxReplicaCount: 3
  triggers:
    - metadata:
        desiredReplicas: '3'
        end: 20 8 * * *
        start: 10 8 * * *
      type: cron
  advanced:
    activationConditions:
      - condition: "triggers.cpu.value < 75"
        triggers:
          - name: cpu-check
    triggers:
      - metadata:
          value: '75'
        metricType: Utilization
        name: "cpu-check"
        type: cpu
  • 两个ScaledObject通过activationConditions分别绑定不同的CPU条件,仅当条件满足时生效
  • 确保KEDA版本≥2.8(activationConditions特性的最低版本要求)

三、注意事项

  • 确认你的KEDA版本支持所使用的特性:ScalingModifiers需≥2.10,activationConditions需≥2.8
  • 测试时可以通过kubectl describe scaledobject <name>查看触发器状态和扩缩容事件,排查配置问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.14 18:57:10