Introduction to Kubernetes Operators - Presentation

Well, usually I post my talk presentation when it's done. But due to the current situation with Coronavirus all meetups have been canceled (the talk is meant to be held in April/May 2020).

So I'd like to share it in advance till the situation gets better.


Kubernetes has a way to extend its functionality natively which's known as "operator pattern".

The presentation gives a general overview of Kubernetes operators, it answers what, why, how and details about different operators types and options.

It also goes over some consents "control loop" (aka "reconciliation loop"), "CustomResource" and "CustomResourceDefinition". Also, it mentioned OperatorHub.io to get reliable operators.


One of the interesting things here is the demo (more details in its repo "intro-to-k8s-operators-demo"), using "operator-sdk" I was able to build a fully functional operator in less than 2 hours!

Here is a visual overview how this operator works:

Kubernetes doesn't have a way to control the deployment e.g. Canary deployment style. I decided to make one as a PoC (it works, but of course it's not for real use, for production use Argo Rollouts).

The demo demonstrates how easy to extend Kubernetes functionality natively by using custom resources and operator pattern. The demo is well documented so it's standalone, and it has some extra tasks to do to get hands-on about this topic.

Final word

If you reached the last few slides of the pretension, you will see one of my favorite quotes, which's from Site Reliability Engineering book by Google.

Automation is a force multiplier, not a panacea.

Panacea is a goddess in Greek mythology for curing, whatever you have she -Panacea- will give you the medicine that will cure you. Simply put, Panacea is a word used to refer to medicine that cures all illnesses. And automation isn't!

So don't use automation to fix symptoms but fix root causes! Automation is a way to make things better, it's a tool not a goal! Don't rush to build an operator for something you don't need automation to fix it.


That's it! And till Corona situation gets better, be safe :-)

Powered by Blogger.

Hello, my name is Ahmed AbouZaid, I'm a passionate Tech Lead DevOps Engineer. 👋

With 16+ years of open-source contributions, 12+ years of professional hands-on experience in DevOps, and an M.Sc. in Data Engineering from Edinburgh Napier University (UK), I enjoy facilitating the growth of both businesses and individuals.

I specialize in Cloud-Native and Kubernetes. I'm also a Free/Open source geek and book author. My favorite topics are DevOps transformation, automation, data, and metrics.

Contact Me


Email *

Message *

Start Your DevOps Engineer Journey!

Start Your DevOps Engineer Journey!
Start your DevOps career for free the Agile way in 2024 with the Dynamic DevOps Roadmap ⭐

Latest Post

Gomplate v4 is here! - Tools

This year, one of my nice discoveries was gomplate , a fast template renderer supporting many data sources and hundre...

Popular Posts

Blog Archive