Vertical Scalers
Kedify provides two complementary approaches for in-place vertical scaling:
Vertical Scaling vs Horizontal Scaling
Section titled “Vertical Scaling vs Horizontal Scaling”Vertical scaling changes the CPU and memory assigned to each pod. Horizontal scaling changes the number of replicas, typically through KEDA and Kubernetes HPA. Kedify vertical scalers are useful when replica count is not the only bottleneck, such as for memory-heavy services, startup-sensitive workloads, or cases where keeping a smaller number of better-sized pods is more efficient.
When to use Pod Resource Profile (PRP)
Section titled “When to use Pod Resource Profile (PRP)”Use Pod Resource Profile (PRP) when you want declarative, event-driven transitions of CPU and memory.
Typical fit:
- Increase resources during startup, then shrink once warm
- React to lifecycle events such as
containerReady - React to
ScaledObjectactivated/deactivatedstate changes - Apply explicit resource profiles at defined points in workload lifecycle
When to use Pod Resource Autoscaler (PRA)
Section titled “When to use Pod Resource Autoscaler (PRA)”Use Pod Resource Autoscaler (PRA) when you want instant, utilization-based in-place right-sizing.
Typical fit:
- Continuously adjust resources from observed CPU and/or memory utilization
- Keep a target utilization band with scaling thresholds and cooldowns
- Adapt quickly to changing workload pressure without restarts
PRP and PRA Together
Section titled “PRP and PRA Together”You can use both capabilities together. This is supported, but requires careful timing so both controllers do not keep overriding each other.
Recommended setup:
- Stagger action timing with PRA
.spec.policy.afterand.spec.policy.delay - Stagger PRP transitions with
.spec.trigger.afterand.spec.trigger.delay - Keep clear intent for each capability (for example PRP for lifecycle/profile transitions, PRA for continuous utilization-based right-sizing)