Kubernetes CronJob syntax: how K8s cron scheduling differs from Linux cron
Kubernetes CronJobs use the standard 5-field cron syntax with one addition: an optional timezone field (schedule: '0 0 * * *' and timezone: 'America/New_York'). The expression format is identical to Linux cron, which means every cron tutorial you already know transfers directly to K8s.
How this is calculated
Kubernetes adds three features on top of standard cron: concurrencyPolicy (Forbid, Replace, or Allow) controls what happens when a previous job is still running; successfulJobsHistoryLimit and failedJobsHistoryLimit control how many completed job pods are retained; and startingDeadlineSeconds sets a tolerance for missed schedules. The biggest operational difference is that Kubernetes CronJobs create a new Pod for every invocation, which means 288 Pods per day for an every-5-minutes job. Use a concurrencyPolicy of Forbid for jobs that must not overlap, and set history limits to avoid accumulating thousands of completed Job objects.
Verdict
Kubernetes CronJobs are the standard way to run scheduled workloads in K8s. The cron syntax is identical to Linux. The concurrency, history, and deadline policies are where you need to think differently from a traditional crontab. Always set concurrencyPolicy and history limits explicitly.
More Cron scenarios
Related guides
Frequently asked questions
What is a Cron Job?
What do the 5 parts of a cron expression mean?
What does the asterisk (*) mean in Cron?
How do I run a task every 5 minutes?
Related tools
Unix Timestamp
Convert between Unix timestamps and human-readable dates.
Use tool ➜CHMOD Configurator
Calculate Linux file permissions using checkboxes, octal numbers, or symbolic notation.
Use tool ➜Text Encoding Converter
Convert between Text, Base64, Binary, Hexadecimal, and Decimal formats.
Use tool ➜