The gap between docker run and Kubernetes CronJob
Scheduling a container is the point where most setups run out of good options. Kubernetes CronJob is the mature answer, but only if you already have a cluster. Below that line the usual answer is cron calling docker run, which schedules and nothing else.
- cron plus docker run gives you no retries, no dependency between jobs, no run history, and no way to see why last night failed.
- Adopting Kubernetes to schedule a nightly report is a large amount of platform for a small amount of job.
- A general orchestrator that treats containers as one step type, rather than as the deployment target, fits the space in between.