One of the most magical aspects of Kubernetes is the ability to extend its functionality. It provides basic building blocks—pods, deployments, stateful sets, jobs—and then, the sky’s the limit. You can define new types of objects and provide the logic to ensure instances remain in good state. Your very own Kubernetes-native component! The trick? Write a Kubernetes Controller.
Tempting! But…when is this really useful? Is it easy or complex? What are the minimum requirements? What patterns should you employ? Should you write in Go, Java, or another framework? What are the possible pitfalls? Is this the right approach for your use case?
You’ve got questions, we’ve got answers! Join us to learn the fundamentals of creating Kubernetes Controllers; alternative approaches such as MetaController, CloudEvents, and Crossplane Providers for implementing common scenarios; and gotchas where things can get particularly hairy.