Разработка операторов Kubernetes

Полноценный практический и бесплатный курс по созданию готовых к продакшену операторов Kubernetes с помощью Kubebuilder.

Начать


Данный проект является переводом оригинального курса Piyush Jajoo, доступного по ссылке k8s-operators-course. Благодарим автора за проделанную работу!

Обзор курса

Этот бесплатный курс научит вас создавать операторы Kubernetes с нуля. Вы изучите основы архитектуры Kubernetes, паттерн контроллера (controller pattern) и научитесь использовать Kubebuilder для создания собственных операторов, управляющих сложными приложениями.

Продолжительность 8 недель (всего 40–50 часов)
Уровень от среднего до продвинутого
Предварительные требования базовые знания Kubernetes, основы программирования на Go, понимание контейнеризации
Лицензия бесплатный проект с открытым исходным кодом — лицензия MIT

Чему вы научитесь

Модуль Описание
Модуль 1: Глубокое погружение в архитектуру Kubernetes Узнайте, как работает управляющий слой (control plane), как функционируют механизмы API, и разберитесь в паттерне контроллера.
Модуль 2: Введение в операторы Разберитесь в паттерне оператора и создайте свой первый оператор с помощью Kubebuilder.
Модуль 3: Создание кастомных контроллеров Освойте controller-runtime, проектирование API и логику согласования (reconciliation).
Модуль 4: Продвинутые паттерны согласования Работа с условиями, финализаторами, отслеживанием и продвинутыми паттернами.
Модуль 5: Вебхуки и контроль допуска Реализация валидирующих и мутирующих вебхуков.
Модуль 6: Тестирование и отладка Модульное тестирование, интеграционное тестирование и наблюдаемость.
Модуль 7: Подготовка к продакшену Упаковка, RBAC, высокая доступность и производительность.
Модуль 8: Продвинутые темы Мультиарендность, композиция операторов и практические паттерны.

Подход к обучению

Этот курс делает упор на:

  • Практическое обучение — каждая концепция демонстрируется через практические упражнения
  • Наглядность — активное использование диаграмм Mermaid для архитектуры и процессов
  • Постепенное усложнение — начинаем с простого и доходим до готовых к продакшену операторов
  • Реальные примеры — вы создаёте настоящие операторы, которые можно использовать

Предварительные требования

Перед началом убедитесь, что у вас установлено:

# Required tools
Go 1.24+
kubectl
Docker or Podman
kind v0.29+
Kubebuilder 4.7+

Быстрый старт

  1. Склонируйте этот репозиторий:
    git clone https://github.com/piyushjajoo/k8s-operators-course.git
    cd k8s-operators-course
    
  2. Настройте среду разработки:
    ./scripts/setup-dev-environment.sh
    
  3. Создайте кластер kind:
    ./scripts/setup-kind-cluster.sh
    
  4. Начните с Модуля 1: Перейдите на страницу Модули, чтобы начать!

Ресурсы


Поделитесь своим проектом

Если вы прошли курс и создали оператор, поделитесь своим проектом в LinkedIn и отметьте Piyush Jajoo, чтобы получить обратную связь! Пожалуйста, поставьте проекту ⭐, если он оказался полезным.


Участие в проекте

Мы приветствуем ваш вклад! Открывайте issue для сообщений об ошибках, опечатках или предложений новых тем.

Этот курс бесплатен и имеет открытый исходный код, он распространяется по лицензии MIT.