KEDA compatibility
Cast AI's Workload Autoscaler is fully compatible with KEDA (Kubernetes Event-driven Autoscaling) when KEDA is configured to scale standard Kubernetes workloads using KEDA ScaledObjects. Our system recognizes and works seamlessly with it, the same as with native Kubernetes HPAs.
How KEDA and Workload Autoscaler work together
KEDA creates HPA objects based on your ScaledObject configurations. Cast AI's Workload Autoscaler integrates with these KEDA-generated HPAs and applies different optimization strategies depending on which metrics are configured in your ScaledObject.
Compatibility
Cast AI's Workload Autoscaler works with KEDA ScaledObjects. KEDA ScaledJobs are not supported.
KEDA scaling optimization strategies
The level of optimization applied by Workload Autoscaler depends on which metric types are configured in your KEDA ScaledObject.
KEDA with only CPU or memory metrics
When your KEDA ScaledObject uses only CPU or memory metrics:
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: cpu-only-scaler
namespace: default
spec:
scaleTargetRef:
name: my-deployment
triggers:
- type: cpu
metadata:
type: Utilization
value: "70"Workload Autoscaler will:
- Run the full simulation-based optimization, evaluating CPU candidates across cost, stability, and replica behavior factors
- Calibrate the CPU recommendation away from the raw percentile when a nearby value produces better workload behavior
KEDA with CPU/memory combined with custom metrics
When your KEDA ScaledObject combines CPU or memory metrics with custom metrics:
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: combined-metrics-scaler
namespace: default
spec:
scaleTargetRef:
name: my-deployment
triggers:
- type: cpu
metadata:
type: Utilization
value: "70"
- type: prometheus
metadata:
serverAddress: http://<prometheus-host>:9090
threshold: '100'
query: sum(rate(http_requests_total{deployment="my-deployment"}[2m]))Workload Autoscaler will:
- Run the simulation and apply vertical scaling optimization (CPU/memory resource requests)
- Limit how far the recommendation moves away from the originally detected percentile
- Respect KEDA's custom metric scaling decisions
Because custom metrics primarily drive scaling decisions for these workloads, CPU-based corrections may not reflect actual throughput. The simulation still runs, but calibration precision is reduced compared to CPU- or memory-only configurations.
KEDA with only custom metrics
When your KEDA ScaledObject uses only custom metrics (no CPU or memory):
apiVersion: keda.sh/v1alpha1
kind: ScaledObject
metadata:
name: prometheus-scaledobject
namespace: default
spec:
scaleTargetRef:
name: my-deployment
triggers:
- type: prometheus
metadata:
serverAddress: http://<prometheus-host>:9090
threshold: '100'
query: sum(rate(http_requests_total{deployment="my-deployment"}[2m]))Workload Autoscaler will:
- Continue vertical scaling optimization (CPU/memory resource requests)
- Not apply the intelligent vertical and horizontal scaling optimization algorithms
- Respect KEDA's custom metric scaling decisions
Updated last month
