Kubernetes Simulator
advanced · ~10 min
Pile-up
The inventory sync is scheduled every minute, but lately each run takes two and a half. Kubernetes' default is to start the next run anyway — so runs pile up on top of each other, fighting over the same rows.
A CronJob's concurrencyPolicy decides what happens when a run is due and the last one hasn't finished: Allow (the default) starts another, Forbid skips this one, Replace stops the old run and starts fresh.
Objectives
- Stop runs overlapping: set concurrencyPolicy on sync
- At most one sync run active
- Bonus: Cap how long any run may take: activeDeadlineSeconds on the job template
Best on a computer with a keyboard. It works on a phone, with shortcuts under the terminal.