Lessons learned writing 10+ Kubernetes Operators
summary
Built and running over 10+ operators for on‑prem data platforms, the talk lists concrete tradeoffs: authors extract shared logic with a Rust framework (Rust instead of Go for generics), hit 1.5 MB CRD size limits, generate a static CRD docs site, and use k3s and kuttl for tests while wrestling with slow OpenShift CI and flaky Helm upgrades. Many operators work in production but testing, OpenShift certification and CRD/versioning remain costly pain points.
AI-written summary · about
chapters (21)
- 0:00Introduction and agenda
- 1:11Why build Kubernetes Operators
- 6:07Operator pattern challenges
- 9:08Building multiple Operators
- 13:18Go vs Rust for Operators
- 16:24Documenting custom resources
- 19:04OpenShift certification pain
- 21:25Testing across Kubernetes versions
- 23:29Custom resource definition standards
- 24:33Cloud testing frustrations
- 26:44Kubernetes testing tools
- 27:31StatefulSets limitations
- 29:01Kubernetes tooling and automation
- 31:58Kubectl and kubectx
- 32:40Custom resource size limits
- 34:23Helm limitations
- 36:58Enterprise features matter most
- 37:39Would we do it again
- 38:00Operator vs controller
- 41:30DNS resolution issues
- 42:15Q&A and closing
related talks
36mLessons learned writing 10+ Kubernetes Operators - Lars Francke and Jannik Heyl
20mLessons Learned Using the Operator Pattern to Build a Kubernetes Platform
24mWriting Kubernetes Operators in Rust
31mKubernetes Operators within Reach of Any Developer
17mAnti-patterns for Kubernetes Operators
45mKubernetes Operators: Operating Cloud Native services at scale
29mRage Against the API-Machinery: Writing an Operator for Production
45mBuild Your Kubernetes Operator with the Right Tool!
