MetaController: Build K8s Controllers as Declarative Intents
summary
MetaController lets teams write controllers by declaring parent/child intents as a CRD and returning the final desired resources instead of coding client-go informers, listers, queues or reconciliation loops. A simple example maps a Foo CR to a Deployment and sets Foo.status.replicas by reading the Deployment; building that controller takes three YAML-like objects plus a tiny hook. It runs as a shared or isolated pod, is language-agnostic hooks, enables 100% unit-testable business logic and avoids no informers listers watchers, used in OpenEBS and proven in demos.
AI-written summary · about
chapters (8)
- 0:00Introduction to controllers
- 2:03Understanding control loops
- 3:20Client-go and CRDs
- 6:56Building manual controllers
- 13:51Implementing business logic
- 16:58Introducing Metacontroller
- 21:02Language agnostic framework
- 23:05Conclusion and roadmap
related talks
29mKubernetes Custom Resources with Kubeless and Metacontroller
27mDemystifying Why the World Is Built on Kubernetes: Learning To Leverage Bespoke CRDs and Controllers
25mMetacontroller with Knative Functions - Kubernetes Controllers Made Simple
21mKeynote: Kubernetes Secret Superpower
32mKubernetes as a platform for platforms
19mSimplify Kubernetes Operator Development With a Modular Design Pattern
26mWriting Kubernetes Controllers for CRDs: Challenges, Approaches and Solutions
33mReducing Boilerplate With Kubernetes Custom Resource Definitions
