Into the Deep Waters of API Machinery
Talkat KubeCon + CloudNativeCon North America 2020 Virtual · on Friday, 2020-11-20· at 15:10· Intrado Virtual Event Platform,·
summary
Explains why a namespace stays stuck: the namespace finalizer blocks deletion until the namespace lifecycle controller can discover and delete all contained resources, and aggregated API servers (eg metrics API server) or broken discovery cause that uncertainty. Describes REST mapping: discovery endpoints, cached discovery and discovery rest mapper caches for 30s used by controllers and kubectl. Covers garbage collection mechanics and policies Foreground Background Orphan, ownerReferences, BlockOwnerDeletion, known bugs with multi‑owner and cross‑scope races and a planned fix in Kubernetes 1.20.
AI-written summary · about
chapters (14)
- 0:00Start
- 13:29Partially specified resources/kinds
- 17:31Discovery Information
- 19:30Native, CRDs & aggregation
- 20:02Incomplete information & errors
- 21:06GC fundamentals - who does what
- 22:05Anatomy of an ownerReference
- 23:47Background Example
- 24:15Delete with Orphan
- 24:50Orphan Example
- 26:16Foreground Example
- 27:18Bug! blockOwnerDeletion (2 Parents)
- 28:22Bug! -cluster to namespace reference
- 29:39Bug! cross namespace reference
related talks
33mImplementing Anti-patterns: Kubernetes Cross-namespace Resource Ownership
31mThe Life (or Death) of a Kubernetes API Request, 2025 Edition
36mUnderstanding Kubernetes Through Real-World Phenomena and Analogies
38mDeep Dive: API Machinery SIG
35mOMG Namespaces!
38mSIG CLI Deep Dive
26mKubernetes-style APIs of the Future
08mKubernetes: The API of Everything
