- Select a timezone from the IANA Time Zone Database.
- Define cron expressions for when scaling should start and when it should end.
- Set the exact replica count (
desiredReplicas) for the scheduled window.
start and end boundaries and removes that constraint afterwards so the workload can resume its normal scaling behavior.

Why use Cron scaling?
If you can predict times of higher load, pre-warming or pre-scaling your workloads reduces cold-start latency and improves user experience. KEDA Cron scaling provides a deterministic window to guarantee capacity during those events and to return to lower capacity afterward.How the Cron trigger works
A KEDA Cron trigger accepts the following key metadata fields:timezone— an IANA time zone string (for example,Asia/Kolkata). Use values from the IANA Time Zone Database.startandend— cron expressions that define when the scheduled replica count should be applied and when it should stop being enforced.desiredReplicas— the number of replicas to maintain during the scheduled period (KEDA expects this as a string).
hour field.
Cron field reference
Example:
0 6 * * * → run at 06:00 every day.
Example trigger metadata
Always use a valid IANA timezone string for
timezone and provide cron expressions in 24-hour format. Quote cron expressions and desiredReplicas to avoid parsing issues.Example ScaledObject
Below is a complete exampleScaledObject that applies the cron schedule above. This manifest includes:
minReplicaCount: 0to allow scaling down to zero outside scheduled windows.cooldownPeriod(seconds) — the time KEDA waits after the last active trigger before scaling down. This helps prevent rapid down-scaling after brief spikes.
Notes on cooldown and behavior
cooldownPeriodis the number of seconds KEDA waits after the last active trigger observation before attempting to scale down. For long scheduled windows (e.g., 06:00–20:00) this setting usually does not impact the scheduled period, but it can help avoid oscillation when other scalers are active.- When the
endcron expression matches, KEDA removes the scheduled desired replica count and other scalers (or the default behavior) determine the replica count. That may trigger a gradual scale-down according to your configuration.
When to use KEDA Cron scaler
- Predictable, time-based traffic (daily business hours, scheduled promotions, batch processing windows).
- Need to guarantee minimum capacity for a known window (pre-warming).
- Desire to scale to zero outside scheduled windows to save resources.
References
- KEDA Cron scaler: https://keda.sh/docs/latest/scalers/cron/
- IANA Time Zone Database: https://www.iana.org/time-zones
- Kubernetes Deployments: https://kubernetes.io/docs/concepts/workloads/controllers/deployment/