Sometimes ago I wrote a blog post about how to get started with operators called Write your first simple Kubernetes Operator and that post used the Ansible SDK for operators.
That new blog post is related to start with development of operators using the GO SDK. I want to point to some resources which are from my personal perspective are an incredible combination to start and I want to highlight some major points which are relevant in that context.
Here is an overview of the content of that blog post:
- Let me start with learning GO.
- Start to learn writing GO operators from Red Hat.
- Get free trainings and badges for intermediate to advanced operator development.
- What about the Operator tutorials, which are available on the Operator SDK?
- You should get familiar with the GO Kubernetes packages!
- What are the major topics you will cover in those given resources?
Let me start with learning GO.¶
The Golang Tutorial for Beginners | Full Go Course made by Nana is an awesome simplified starting point to learn GO. Ok, it is long video (3h) and for beginners, but it’s really very good simplified introduction into programming and GO at the same time.
Start to learn writing GO operators from Red Hat.¶
This is an older Video from 2020 about Creating a Go Operator from scratch with Jay Dobies and Chris Short, because it’s old some of the commands aren’t longer valid, but overall, it’s good overview.
Get free trainings and badges for intermediate to advanced operator development.¶
You can get these free trainings on COGNITIVECLASS.ai
- The intermediate training is a very good overview of the current three available operator APIs GO, Ansible and HELM charts.(Kubernetes Operators Intermediate)
- The advanced training provides a formidable starting point in detail to develop operators with the operator APIs GO. (Kubernetes Operators Advanced)
What about the Operator tutorials, which are available on the Operator SDK?¶
The Go Operator Tutorials of course are very good additional resources in that combination of the given free badges. I would say close all beginner training or tutorials for the Operator SDK reusing some of that free existing material.
You should get familiar with the GO Kubernetes packages!¶
During the development of the operator, you will use GO Kubernetes packages, so you should discover the GO Kubernetes packages and get a basic understanding what they are providing. This link is an example starting point.
What are the major topics you will cover in those given resources?¶
Overall, with these given resources you get familiar with following important topics:
- Write an operator basics
- Understand how operators are managed with the Operator Lifecycle Manager
- Build a bundle for the Operator Lifecycle Manager for the existing operator
- Create a new API version for an existing operator
- Update an existing bundle using a conversion webhook
- Use the out of the box tests of a bundle for your operator
- Write own tests
When you start on your local machine with the development, following software needs to be installed.
So, this was my simplified point of view on some of the free available materials, when you start learn to develop Kubernetes operators using the Operator SDK for go.
I hope this was useful for you and let’s see what’s next?
#operator, #go, #operatorsdk, #operatorlearningjourney