Developing a native kubernetes app goes around two simple concepts: defining new data structures (custom resources) and delivering a kubernetes component that handles those structures.
Despite that, doing the first steps can be intimidating:
• How do we define (and consume) new resources?
• How about interacting with existing resources defined by somebody else?
• How do I even find their Go definition?
In this talk, I'll introduce:
• How to interact with kubernetes custom resource using non type safe clients
• How to leverage the code generation to avoid casting errors and reduce the proliferation of boilerplate code
• How informers, workqueues and other powerful tools make it possible to implement a bullet proof event loop
• Finally, I'll describe the operator-sdk, a framework that makes the implementation of a controller even simpler and more automated