Defusing the Kubernetes API Performance Minefield
Talkat KubeCon + CloudNativeCon Europe 2025 · on Thursday, 2025-04-03· at 16:00· Level 1 | Hall Entrance S10 | Room A·
summary
Explains why controllers that list large CRDs trigger massive allocations (five allocations per list -> one when served from cache) and how recent changes cut memory and latency: the storage rewrite with bit trees (Kubernetes 1.32) enables cheap cache clones, list-from-snapshot (alpha in 1.33) serves exact resourceVersion and continuations for ~75s, and streaming encoding (1.33) removes big JSON/proto buffers — a benchmark shows list memory dropping from ~70 GB to ~3 GB.
AI-written summary · about
chapters (16)
- 0:00Kubernetes API performance intro
- 1:06Kubernetes API performance minefield
- 3:16CRDs and operators pitfalls
- 5:28Controllers and data volumes
- 7:53API server list requests
- 10:06Kubernetes caching role and limits
- 13:04Navigating API performance
- 15:57Resource version semantics
- 18:47Caching and resource versions
- 20:09Serving data from cache
- 23:04Exact version requests handling
- 24:30Snapshots and cache history
- 26:59JSON encoding overhead
- 27:43Streaming collection improvements
- 29:11Performance results and future work
- 30:17Q&A on CRDs and noisy neighbors
related talks
47mOptimizing Kubernetes Resource Requests/Limits for Cost-Efficiency and Latency
31mIt's all about reconciliation - anatomy of a kubernetes controller
34mPanel: Improving and Managing Kubernetes at Scale
27mKubeletosaurus Wrecks: When Memory Requests Meet Limits!
14mArt of decluttering your Kubernetes cluster
34mLatest Kubernetes Scalability Improvements
35mDeep Dive: Kubernetes (Instrumentation) SIG
29mRight-Size Your Kubernetes Deployments
