This is about a personal GO operator development learning journey you can follow along the different blog posts I made about the GO operator development using an own (mostly ;-)) simple example called Multi Tenancy Frontend Operator
.
The objective is not to be a reference architecture or a perfect guide for every aspect of operator development and the Go programming language, there are a lot of other resources out there.
The objective is just to share what I have discovered until now and share it in following way …
- … how to get it running
- … always referencing to the major learning or material resources such as the Operator Lifecycle Manager (OLM), Operator SDK or others which were useful
- … some simplified diagrams to provide an overview of basic dependencies
I would divide the learning journey in four major sections:
- Start to learn
- Local development
- Using the Operator Lifecycle Manager (OLM)
- Monitoring
… and as a reminder: There are many other topics to learn and to take care of.
1. Start to learn
About the learning resources which where useful to me and a little bit about the “why?”.
FYI: I did the two badge I mentioned in the first blog post.
- Let’s get started with the development of operators using the GO SDK
- Additional notes related to operator development
2. Local development
Get the operator running on a local machine and using Kubernetes.
I verified my example project (Multi Tenancy Frontend Operator
) also for these topics and it worked for me.
- Install the Operator SDK on macOS
- Develop a simple operator locally
- Debug a GO operator
- Run an operator as a deployment
3. Using the Operator Lifecycle Manager (OLM)
I verified my example project (Multi Tenancy Frontend Operator
) also for these topics and it worked for me:
- How to create a bundle?
- Run the bundle with an Operator Lifecycle Manager (OLM)
- Deploy an operator without the Operator SDK
- Add a new API version to an existing operator
- Add a conversion webhook to an operator to convert API versions
4. Monitoring
- Monitor your custom operator with Prometheus
- Access Prometheus queries using the Prometheus HTTP API
- Example for an installation and an initial configuration of the Grafana operator
Additional resources
YouTube videos
Here are two additional personal live streams on YouTube I made related to the topics of the learning journey above until now:
- Build a GO operator:
- Debug and extend a Custom Resource Definition of on operator
Overview diagram
The following diagram is a simplified overview example of the dependencies for an operator deployed with Operator Lifecycle Manager (OLM). The operator is called your-operator and it shows all major dependencies of the existing resources when you finally will use your operator.

I hope this was useful to you and let’s see what’s next?
Greetings,
Thomas
#olm, #operatorsdk, #kubernetes, #bundle, #operator, #operatorlearningjourney, #golang
Leave a Reply