~/talk

Admission Webhooks: Configuration and Debugging Best Practices

links:none on file
slides:none on file

Admission webhooks graduate to GA in Kubernetes 1.16 and are powerful but brittle: mutating webhooks can be invoked twice so make them idempotent mutating webhooks, set matchPolicy to Equivalent to catch all API versions, and use short timeouts (example given 2s) and explicit failurePolicy (Reject or Ignore). Debug with the API server metrics (admission_webhook_admission_duration_seconds and rejection counters) and audit log annotations (the mutation and patch keys) to see which webhook patched an object; avoid side effects and exclude kube-system to prevent deadlocks.

AI-written summary · about

  1. 0:00Intro
  2. 0:17Agenda
  3. 1:49Admission Webhooks
  4. 2:19Why do I need admission webhook 2
  5. 3:11Configuration fields
  6. 4:08Best practices
  7. 7:03Example of idempotent webhook
  8. 7:18Example of non-idempotent webhodk
  9. 7:52Intercepting all versions of an object
  10. 8:58Availability
  11. 9:44Guaranteeing the final state of the object is soll
  12. 10:26Side effects
  13. 11:28Avoiding operating on the kube-system namespace
  14. 13:36Types of webhook failure/rejection
  15. 16:57Metrics
  16. 18:41Besides monitoring
  17. 19:33Audit Logging
  18. 20:57Audit Record for Mutating Webhooks
  19. 22:11Patch occurrence
  20. 23:23Patch mutation
  21. 24:51Debug the webhook backend
  22. 30:27Key Takeaways
~/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.