Модуль 2: Введение в операторы
Обзор
Теперь, когда вы понимаете архитектуру Kubernetes, паттерн контроллера и пользовательские ресурсы (Custom Resources) (из Модуля 1), пришло время создать свой первый оператор! Этот модуль знакомит с паттерном оператора и учит использовать Kubebuilder для создания операторов, управляющих пользовательскими ресурсами.
Продолжительность: 5–6 часов
Предварительные требования:
- Завершение Модуля 1: Глубокое погружение в архитектуру Kubernetes
- Базовые знания Kubernetes
- Основы программирования на Go
Цели обучения
К концу этого модуля вы:
- Поймёте паттерн оператора и когда его использовать
- Узнаете, как работает Kubebuilder и его архитектуру
- Настроите полноценную среду разработки
- Создадите и запустите свой первый оператор «Hello World»
- Разберётесь в структуре проекта оператора
Структура модуля
- Урок 2.1: Паттерн оператора
- Урок 2.2: Основы Kubebuilder
- Урок 2.3: Настройка среды разработки
- Урок 2.4: Ваш первый оператор
Проверка предварительных требований
Перед началом убедитесь, что вы завершили Модуль 1:
- ✅ Понимаете компоненты управляющего слоя Kubernetes
- ✅ Знаете, как работают механизмы API
- ✅ Понимаете паттерн контроллера и согласование
- ✅ Умеете создавать и использовать пользовательские ресурсы (CRD)
Если вы не завершили Модуль 1, начните с Модуля 1: Глубокое погружение в архитектуру Kubernetes.
Настройка
Перед началом этого модуля:
- Проверьте завершение Модуля 1:
- Убедитесь, что среда разработки готова:
./scripts/setup-dev-environment.sh - Запущенный кластер kind:
./scripts/setup-kind-cluster.sh - Проверьте, что kubebuilder установлен:
kubebuilder version
Практические лабораторные работы
Каждый урок включает практические упражнения. Все лабораторные используют кластер kind и kubebuilder.
- Лабораторная 2.1: Исследование существующих операторов
- Лабораторная 2.2: CLI Kubebuilder и структура проекта
- Лабораторная 2.3: Настройка вашей среды
- Лабораторная 2.4: Создание оператора Hello World
Что вы создадите
К концу этого модуля у вас будет:
- Полноценный оператор «Hello World», управляющий пользовательским ресурсом
- Понимание структуры проекта kubebuilder
- Умение запускать операторы локально для разработки
- Основа для создания более сложных операторов в Модуле 3
Решения
Полные рабочие решения для всех лабораторных доступны в каталоге решений:
- Решения лабораторной 2.4 — полный оператор Hello World (main.go, контроллер, типы)