You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This issue tracks recommendations and considerations when using the autoscaler-keda plugin. Most of these points are summarized from the following conversation: Slack discussion.
Context
The autoscaler-keda plugin creates ScaledObjects to manage the scaling of Knative services. Each revision of a Knative service gets its own ScaledObject, which is versioned accordingly.
Considerations & Recommendations
Availability of Metrics for Scaling
The metrics defined in the PrometheusQuery must be available for scaling to occur.
If the metric originates from the service itself, at least one replica must remain active to provide the necessary data.
Behavior of ScaledObjects with New Revisions
ScaledObjects persist even after a new revision is created. If a metric triggers scaling, multiple revisions can scale up simultaneously, even if traffic routing is configured to target only the latest revision.
Disabling ScaledObjects and Traffic Splitting
While KEDA supports disabling ScaledObjects, this is not a viable option for Knative services that require traffic splitting across revisions. Traffic splitting mandates that all relevant ScaledObjects remain functional.
This issue tracks recommendations and considerations when using the
autoscaler-keda
plugin. Most of these points are summarized from the following conversation: Slack discussion.Context
The
autoscaler-keda
plugin createsScaledObject
s to manage the scaling of Knative services. Each revision of a Knative service gets its ownScaledObject
, which is versioned accordingly.Considerations & Recommendations
Availability of Metrics for Scaling
PrometheusQuery
must be available for scaling to occur.Behavior of
ScaledObject
s with New RevisionsScaledObject
s persist even after a new revision is created. If a metric triggers scaling, multiple revisions can scale up simultaneously, even if traffic routing is configured to target only the latest revision.Disabling
ScaledObject
s and Traffic SplittingScaledObject
s, this is not a viable option for Knative services that require traffic splitting across revisions. Traffic splitting mandates that all relevantScaledObject
s remain functional.Injecting Revision Names in Prometheus Queries
autoscaler-keda
will support injecting revision names into Prometheus queries.Traffic Splitting and Metrics for Scale-Up
http_request_total
, should account for traffic splitting:Handling Substitutions in Prometheus Queries
@skonto feel free to add/remove items. I'll log another issue for the scale from zero use case soon.
The text was updated successfully, but these errors were encountered: