DevOps

Kubernetes Operators

Build production ready Kubernetes Operators from scratch using Kubebuilder, CRDs, controllers, reconciliation, validation, finalizers, and packaging. Gain hands-on skills to automate application lifecycles and extend Kubernetes with confidence.
Ahmed Elfakharany
Ahmed Elfakharany
Kubernetes & DevOps Consultant | Course Creator
Kubernetes Operators
Play Button
Fill this form to get a notification when course is released.
book
12
Lessons
book
Challenges
Article icon
90
Topics

What you’ll learn

Our students work at..

Description

The Kubernetes Operators course is designed to help learners build practical skills in developing Kubernetes Operators that automate the lifecycle management of cloud-native applications. Tailored for Kubernetes administrators, platform engineers, DevOps engineers, Site Reliability Engineers (SREs), software engineers, and cloud-native practitioners, this course provides a comprehensive introduction to the Operator pattern, Custom Resource Definitions (CRDs), controllers, Kubebuilder, Operator SDK, reconciliation, validation, packaging, and production-ready Operator development. Through conceptual lessons, guided demonstrations, hands-on labs, and practical implementation exercises, you'll learn how to design, build, test, debug, package, deploy, and operate Kubernetes Operators from scratch.

Throughout the course, you'll gain hands-on experience working with Custom Resource Definitions (CRDs), the Kubernetes API, controller-runtime, Kubebuilder, Operator SDK, reconciliation loops, Deployments, Services, ConfigMaps, status conditions, events, finalizers, validation policies, and production deployment workflows. You'll learn how to extend Kubernetes using custom APIs, encode operational knowledge into Operators, automate application lifecycle management, implement reconciliation logic, manage dependent resources, validate custom resources, package Operators for deployment, and consume popular Operators such as Cert-Manager and Prometheus Operator. The course culminates in building a fully functional WebApp Operator that demonstrates production-oriented Operator design and implementation.

Course Modules & Learning Outcomes

Introduction to Kubernetes Operators

Build a strong foundation in the Kubernetes Operator pattern by understanding how Operators extend Kubernetes capabilities. Learn the differences between Controllers and Operators, explore real-world Operator use cases, Operator capability levels, and understand when Operators are a better choice than Helm charts.

Custom Resource Definitions (CRDs)

Learn how Custom Resources and Custom Resource Definitions extend the Kubernetes API. Explore OpenAPI schema validation, status fields, printer columns, short names, and gain hands-on experience creating and applying your own CRDs.

Kubebuilder Fundamentals

Learn how to scaffold Operator projects using Kubebuilder. Explore the generated project structure, understand the relationship between Kubebuilder and Operator SDK, and generate APIs and controllers for a custom WebApp Operator.

Building the WebApp Operator

Design and implement a production-style Kubernetes Operator using controller-runtime. Learn reconciliation concepts, create Deployments, Services, and ConfigMaps, implement owner references, and automate application lifecycle management using Kubernetes APIs.

Running, Testing, and Debugging Operators

Learn how to run Operators locally, observe reconciliation behavior, interpret Operator logs, troubleshoot reconciliation issues, and validate Operator functionality during development.

Status, Conditions, and Events

Implement production-ready status reporting using conditions and readiness information. Learn event generation, reconciliation retry strategies, requeue behavior, and improve Operator observability for cluster administrators.

Finalizers and Cleanup

Understand Kubernetes deletion workflows and implement finalizers to safely manage cleanup operations before Kubernetes removes custom resources.

Validation with CEL Policies

Learn how to validate custom resources using Common Expression Language (CEL) admission policies. Implement validation rules that improve resource consistency and prevent invalid configurations.

Packaging and Distribution

Package and deploy Kubernetes Operators using container images and deployment manifests. Learn deployment workflows, Docker-based packaging, and gain an introduction to Operator Lifecycle Manager (OLM).

Alternative Operator Development Approaches

Explore Operator SDK and understand its relationship with Kubebuilder. Learn how Helm-based Operators simplify Operator development by extending existing Helm charts.

Consuming Popular Kubernetes Operators

Learn how to install, configure, and use widely adopted Operators including Cert-Manager and Prometheus Operator. Understand how Operators simplify the management of complex applications within Kubernetes clusters.

Production Readiness and Wrap-Up

Learn what distinguishes a functional Operator from a production-ready Operator by reviewing testing considerations, operational best practices, and the complete WebApp Operator built throughout the course.

Course Features

  • Extensive hands-on labs and guided demonstrations that walk through every stage of Kubernetes Operator development.
  • Build a complete production-style WebApp Operator using Kubebuilder and controller-runtime.
  • Practical coverage of CRDs, reconciliation loops, status management, events, finalizers, validation, packaging, and deployment.
  • Real-world examples featuring Cert-Manager, Prometheus Operator, Operator SDK, and Helm-based Operators.
  • Production-focused best practices covering testing, debugging, observability, resource ownership, cleanup workflows, and Operator lifecycle management.

Who Should Enroll?

  • Kubernetes administrators looking to automate application lifecycle management.
  • Platform engineers building internal platforms and cloud-native infrastructure.
  • DevOps engineers and Site Reliability Engineers (SREs) managing Kubernetes workloads.
  • Software engineers interested in extending the Kubernetes API through custom controllers and Operators.
  • Cloud-native practitioners who want to understand how production Kubernetes Operators are designed and implemented.
  • Anyone looking to gain practical experience building, deploying, testing, and operating Kubernetes Operators in real-world environments.

Build the practical skills needed to design, develop, package, deploy, and operate production-ready Kubernetes Operators while gaining hands-on experience with Kubebuilder, controller-runtime, Custom Resource Definitions, reconciliation patterns, validation, and modern cloud-native automation practices.

Read More

What our students say

Ahmed Elfakharany

About the instructor

Ahmed Elfakharany is a freelance DevOps consultant and course creator with 15 years of IT experience spanning Linux systems administration, cloud engineering, and Kubernetes. He holds RHCSA, RHCE, CKA, AWS, and HashiCorp certifications and has taught tens of thousands of students through his bestselling courses on Linux, Kubernetes, and DevOps tooling. Ahmed is passionate about hands-on, lab-driven learning that takes students from theory to production-ready skills.

No items found.

Introduction to Operator Fundamentals

lock
10
Topics
Lesson Content

Module Content

Course Introduction02:59
What Is A Kubernetes Operator04:54
Controllers Vs Operators The Key Distinction02:09
The Operator Pattern Encoding Operational Knowledge02:44
Anatomy Of An Operator CRD Controller03:30
Real World Operator Examples03:14
When To Build An Operator Vs Use Helm02:38
Operator Capability Levels04:25
Demo: Deploy Cert Manager In 60 Seconds02:12
Course Roadmap What Youll Build03:20

Custom Resource Definitions Deep Dive

lock
9
Topics
Lesson Content

Module Content

Section Overview03:10
Custom Resources And CRDs Explained04:01
Openapi Schema Validation04:08
Demo: Write A CRD By Hand07:10
Lab: Create And Apply Your First CRD
Lab Solution: Create And Apply Your First CRD02:35
Demo: Status Scale Printer Columns Short Names05:33
Lab: Apply A Cr And Explore
Lab Solution: Apply A Cr And Explore05:00

Kubebuilder Scaffolding

lock
8
Topics
Lesson Content

Module Content

Section Overview03:21
Kubebuilder Vs Operator SDK03:29
Demo: Kubebuilder Init02:50
Demo: Project Structure Walkthrough03:18
Demo: Kubebuilder Create API For WebApp04:31
Lab: Build The WebApp Operator Scaffold
Lab Solution: Build The WebApp Operator Scaffold03:54
Demo: What The Generator Wrote For You05:38

Building The WebApp Operator Core Reconcile

lock
15
Topics
Lesson Content

Module Content

Section Overview02:42
Designing The WebApp Spec Schema02:24
Demo: Define The WebApp Go Types02:55
Controller Runtime Concepts Manager Controller Reconciler04:51
Inside the Reconcile Loop04:37
Demo: Fetch The WebApp Object03:56
Lab: Install The CRD And Run The Operator
Lab Solution: Install The CRD And Run The Operator04:09
Demo: Create A Deployment From Spec04:13
Demo: Wire The Deployment Into Reconcile04:09
Demo: Add The ConfigMap Child07:47
Demo: Add The Service Builder04:44
Owner References And Garbage Collection03:08
Lab: Add Service ConfigMap And Owner References
Lab Solution: Add Service ConfigMap And Owner References04:28

Running Testing Debugging Locally

lock
6
Topics
Lesson Content

Module Content

Section Overview02:46
Running The Operator With Make Run03:14
Reading Operator Logs Effectively03:56
Demo: Debug A Stuck Reconcile Loop04:42
Lab: Run Observe And Test Reconciliation Boundaries
Lab Solution: Run Observe And Test Reconciliation Boundaries02:52

Status Conditions Events

lock
11
Topics
Lesson Content

Module Content

Section Overview02:47
Why Status Matters03:39
Condition Based Status Design05:24
Demo: Report Readyreplicas In Status03:50
Requeue Requeueafter Error Returns03:50
Events Surface Info To Kubectl Describe04:03
Demo: Emit Events From Reconcile07:04
Lab: Set A Ready Status
Lab Solution: Set A Ready Status03:07
Lab: Emit Events And Tune Requeue Behavior
Lab Solution: Emit Events And Tune Requeue Behavior08:50

Finalizers And Cleanup

lock
5
Topics
Lesson Content

Module Content

Section Overview02:28
Finalizers And The Cleanup Flow
Demo: Add A Finalizer To WebApp07:03
Lab: Implement External Cleanup On Delete
Lab Solution: Implement External Cleanup On Delete01:22

Validation Webhooks And CEL Policies

lock
5
Topics
Lesson Content

Module Content

Section Overview02:18
CEL Admission Policies03:38
Demo: Add A CEL Validation Policy06:06
Lab: Add CEL validation to WebApp
Lab Solution: Add CEL validation to WebApp03:30

Packaging And Distribution

lock
7
Topics
Lesson Content

Module Content

Section Overview02:44
Demo: Building The Operator Container Image03:08
Demo: Make Docker Build Docker Push01:49
Demo: Installing With Make Deploy03:06
Lab: Deploy Your Operator To The Cluster
Lab Solution: Deploy Your Operator To The Cluster03:17
A Brief Look At OLM04:29

Alternative Approaches Operator SDK Helm Operator

lock
5
Topics
Lesson Content

Module Content

Section Overview02:44
Operator SDK Its Relationship To Kubebuilder03:56
Demo: Scaffold The Same Operator With Operator SDK04:25
Helm Based Operators Wrap A Chart As An Operator04:27
Demo: Create A Helm Based Operator05:03

Consuming Popular Operators

lock
7
Topics
Lesson Content

Module Content

Section Overview02:22
Cert Manager Deep Dive04:41
Demo: Issue A Tls Cert With Cert Manager03:09
Prometheus Operator04:11
Demo: Deploy Prometheus Via The Operator05:04
Lab: Install And Combine Two Operators
Lab Solution: Install And Combine Two Operators04:34

Production Readiness Testing Wrap Up

lock
2
Topics
Lesson Content

Module Content

Working Operator Versus Production Operator02:17
What You Built The WebApp Operator Victory Lap04:32
Kubernetes Operators
Play Button
Kubernetes Operators
Fill this form to get a notification when course is released.
This course comes with hands-on cloud labs
12
Modules
Lessons
90
Lessons
Course Certificate
04.95
Hours of Video
Hours of Labs
Story Format
Videos
Case Studies
Demo
Labs
Cloud Labs
Mock exams
Quizzes
Discord Community Support
Community support
Closed Captions
No items found.
DevOps
close