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:
- Apply full intelligent vertical and horizontal scaling optimization algorithms
- This includes replica target corrections and seasonality adjustments
- Apply native CPU overhead calculations
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:
- Apply vertical scaling optimization (CPU/memory resource requests)
- Apply native CPU overhead to maintain headroom below the CPU utilization threshold
- Not apply replica target corrections
- Not apply seasonality adjustments
- Respect KEDA's custom metric scaling decisions
This recognizes that for workloads primarily scaled by custom metrics, increasing CPU resources per pod may not increase throughput proportionally, and aggressive CPU-based corrections could lead to unnecessary resource allocation.
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 26 days ago
