~/talk

The Long, Winding and Bumpy Road to CronJob’s GA

links:none on file
slides:none on file

CronJob reaches GA in Kubernetes 1.21 after replacing the old poll-based controller with an informer + workqueue design that uses a delaying interface to requeue jobs at the next schedule, live GETs against the API to avoid stale-cache duplicates, and a faster computeNextSchedule optimization. Stress tests on a single-node VM push beyond 6120 cronjobs: the old controller shows multi-minute linear lag and missed runs, the new controller shows no visible delay and exposes a histogram metric for schedule skew.

AI-written summary · about

  1. 0:00Intro
  2. 0:13In the beginning...
  3. 0:39Distributed CRON Distributed CRON jobs in ks #2156
  4. 2:15ScheduledJob
  5. 4:14Slowing down...
  6. 5:01Brace for impact!
  7. 5:35Two controllers? Writing Controllers
  8. 6:45Modern Controllers
  9. 8:34Informers and Event Handlers.
  10. 10:07Workers
  11. 11:31Scheduling
  12. 13:21Sync actions
  13. 16:15Challenges: Handling Update
  14. 19:45Challenges: Lagging Caches
  15. 22:50Challenges: Dirty Buffers
  16. 24:16What do we get?
  17. 25:30Scale Test Setup
  18. 27:15Performance Comparison
  19. 29:24Newer additions
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.