I'm new to building operators and feeling a bit lost. I've been searching for tutorials, but most of them reference Kube-builder and the Operator Framework, which my company doesn't use. We work exclusively with client-go, api, machinery, code-generator, and controller-gen. There's so much to learn, and it's overwhelming! Can anyone recommend some resources or guidance on how to get started? Thanks a lot!
5 Answers
Consider checking out operator-sdk. It's what we use on my team to develop a bunch of operators, and it could be useful for you!
Check out tutorials by Gianluca Mardente, the guy behind Sveltos. He has a great collection of tutorials that can help you out. You can find them at his GitHub page!
You might want to start by creating a simple operator using Kube-builder that just prints a message when a pod changes. It’s a good way to dip your toes in, but make sure you have some solid Go skills beforehand!
I really wouldn’t suggest using anything other than Kube-builder for learning operator development—unless you're aiming to understand the internals of a controller. Even then, it’s tough to figure out!
Your level of Go knowledge will really impact your learning. A great place to start is with the Kubernetes deployment controller. You can find it on GitHub. It contains a lot of best practices and caching techniques that are quite valuable.
Excellent tutorial. Thanks for sharing!