Skip to content

For the complete documentation index and AI-optimized content, see /llms.txt. All pages support markdown format via .md extension or Accept: text/markdown header.

Vertical Scalers

For the complete documentation index and AI-optimized content, see /llms.txt. All pages support markdown format via .md extension or Accept: text/markdown header.

Kedify provides two complementary approaches for in-place vertical 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.

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 ScaledObject activated / deactivated state changes
  • Apply explicit resource profiles at defined points in workload lifecycle

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

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.after and .spec.policy.delay
  • Stagger PRP transitions with .spec.trigger.after and .spec.trigger.delay
  • Keep clear intent for each capability (for example PRP for lifecycle/profile transitions, PRA for continuous utilization-based right-sizing)