Essential Patterns For Designing And Implementing Your Operator
summary
Operator development starts easy with kubebuilder and operator-sdk but matures into real problems: avoid putting behavior in annotations (no versioning, no validation), replace growable booleans with an enum-like field, and don’t use CRDs as large data stores (millions of devices, large secrets). Use controller-runtime features: watch selectors by object to avoid caching 10,000+ Secrets, channel source or Jobs for long imperative workflows, emit Prometheus metrics early, prefer server-side apply carefully, and explore kcp or the controller-runtime cluster client for multi-cluster control.
AI-written summary · about
chapters (9)
- 0:00Start
- 6:24Outgrowing Booleans
- 13:03Use imperative patterns
- 16:21Use FaaS / Serverless / Config Management
- 20:53Avoid low SyncPeriods
- 24:07When does the cache hurt performance?
- 26:58Multi-cluster access use cases
- 31:14Multi-cluster access Considerations
- 32:49Multi-cluster kcp client work
related talks
46mOperators Live in the Past: Designing Reliable Kubernetes Controllers
17mAnti-patterns for Kubernetes Operators
32mMinimalist Best Practices in Kubernetes Operators
01h 33mBuilding for Global Engineering Platforms - Let's make an Operator
14mDemystifying k8s operators
29mRage Against the API-Machinery: Writing an Operator for Production
34mWriting a Kubernetes Operator: the Hard Parts
19mSimplify Kubernetes Operator Development With a Modular Design Pattern
