~/talk

Writing a Kubernetes Operator: the Hard Parts

links:none on file
slides:none on file

Built an Elastic operator (ECK) using Kubebuilder and controller-runtime and describes concrete problems and fixes: caches are eventually consistent so reconcilers run "behind" leading to duplicate creates unless reconcilers are idempotent and use deterministic naming or an expectations mechanism. Uses a content hash stored in an annotation to decide updates (hash-in-annotation). Shows workarounds for immutable StatefulSet volumeTemplates (create new StatefulSet and migrate data), recommends storageClass waitForFirstConsumer, and explains StatefulSet update strategies and when to manage pods yourself.

AI-written summary · about

  1. 0:00Intro
  2. 1:00What is an operator
  3. 1:46The reconciliation loop
  4. 3:41Crew Builder
  5. 4:40The Hard Parts
  6. 6:49Problems with Cache
  7. 7:54Optimistic Concurrency
  8. 9:45Deleting
  9. 10:52Consistency
  10. 11:28Expectations
  11. 13:23Best Practices
  12. 15:14Stateful Sets
  13. 16:15Reverse Order
  14. 16:38Decouple
  15. 18:05Comparing
  16. 18:46Metadata
  17. 19:36Comparison Functions
  18. 20:11Stateful Revision
  19. 24:40Resize Volumes
  20. 25:20Migration
  21. 26:10Volume Binding Mode
  22. 30:06Update Strategy
  23. 32:28StatefulSets
~/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.