这是indexloc提供的服务,不要输入任何密码
Skip to content

Support Non-Query based KEDA Scalers #1790

@alex-souslik-hs

Description

@alex-souslik-hs

Describe the feature

KEDA has many scalers without a query parameter, including but not limited to cron, kubernetes-workload, and metrics-api. The current setPrimaryScaledObjectQueries function can only override the query scaler parameter.

Proposed solution

Flagger's autoscalerRef object needs to be more generic, for example, it can allow setting any trigger overrides with primaryScalerTriggerOverrides instead of primaryScalerQueries.

  # Scaler reference
  autoscalerRef:
    apiVersion: keda.sh/v1alpha1
    kind: ScaledObject
    # ScaledObject targeting the canary deployment
    name: podinfo-so
    # Mapping between trigger names and the related parameters to use for the generated 
    # ScaledObject targeting the primary deployment. (Optional)
    primaryScalerTriggerOverrides:
      prom-trigger:
         query: sum(rate(http_requests_total{ app="podinfo-primary" }[30s]))
      cron-trigger:
         desiredReplicas: "5"
    # Overriding replica scaling configuration for the generated ScaledObject
    # targeting the primary deployment. (Optional)
    primaryScalerReplicas:
      minReplicas: 2
      maxReplicas: 5

Any alternatives you've considered?

Currently, I avoid using these scalers with Flagger.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions