To Crd, or Not to Crd, That is the Question
summary
Compares building an app on Kubernetes API via CustomResourceDefinitions and controllers versus a classic web service + relational DB, and demonstrates a home‑automation prototype where room and child light CRs are created and reconciled by controllers that update status and actuate bulbs. Covers concrete tradeoffs: CRDs use store data in etcd (not relational), HA is “free” with multi‑master, performance and noisy‑writer risks, controller programming is a reconcile loop, CRD versioning/migration exists, and cites examples like Knative, Istio (~23 CRDs), and an AWS operator that operator provisions AWS resources.
AI-written summary · about
chapters (13)
- 0:00Introduction
- 2:45The Kubernetes API
- 7:00Understanding the Kubernetes API
- 10:35Custom Resource Definitions
- 12:29Timeline of extensibility
- 15:25Example service
- 22:09Overview
- 22:50Storage
- 24:06Availability
- 25:14Performance
- 28:14Collaboration
- 29:15Other API Features
- 31:11Conclusion
related talks
38mTo Crd, or Not to Crd, That is the Question
19mKeynote: CRDs, No Longer 2nd Class Thing!
27mDemystifying Why the World Is Built on Kubernetes: Learning To Leverage Bespoke CRDs and Controllers
29mKubernetes Reloaded: AKA How to Avoid the Dev Plateau with CRDs
34mPractices for Designing Kubernetes Controllers and CRDs — A Networking Example
26mWriting Kubernetes Controllers for CRDs: Challenges, Approaches and Solutions
36mThe future of CRDs in a post-cluster world
29mKubernetes Custom Resources with Kubeless and Metacontroller
