Модуль 5: Вебхуки и контроль допуска

Обзор

Теперь, когда вы умеете создавать совершенные операторы (Модуль 4), пришло время добавить вебхуки для валидации и мутации. Вебхуки позволяют валидировать и изменять ресурсы до их сохранения в etcd, обеспечивая мощный контроль над вашими пользовательскими ресурсами.

Продолжительность: 5–6 часов
Предварительные требования:

Цели обучения

К концу этого модуля вы:

  • Разберётесь в контроле допуска (admission control) Kubernetes и вебхуках
  • Реализуете валидирующие вебхуки для пользовательской валидации
  • Реализуете мутирующие вебхуки для установки значений по умолчанию и мутации
  • Научитесь управлять сертификатами вебхуков и их развёртыванием
  • Протестируете вебхуки локально и в продакшене

Структура модуля

  1. Урок 5.1: Контроль допуска в Kubernetes
  2. Урок 5.2: Реализация валидирующих вебхуков
  3. Урок 5.3: Реализация мутирующих вебхуков
  4. Урок 5.4: Развёртывание вебхуков и сертификаты

Проверка предварительных требований

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

  • Модуль 4: усовершенствовали оператор с условиями и финализаторами
  • ✅ Понимаете проектирование API из Урока 3.2
  • ✅ Имеете рабочий оператор из Модулей 3/4
  • ✅ Понимаете валидацию CRD из Урока 1.4

Если вы не завершили Модуль 4, начните с Модуля 4: Продвинутые паттерны согласования.

Что вы создадите

На протяжении этого модуля вы добавите вебхуки в свой оператор Database:

  • Валидирующий вебхук для пользовательских правил валидации
  • Мутирующий вебхук для установки значений по умолчанию
  • Управление сертификатами для безопасности вебхуков
  • Настройку локального тестирования для разработки вебхуков

Настройка

Перед началом этого модуля:

  1. Подготовьте свой оператор Database из Модулей 3/4:
    • Должен быть рабочий оператор
    • API должен быть хорошо определён
    • Базовая валидация в схеме CRD
  2. Убедитесь, что среда разработки готова:
    ./scripts/setup-dev-environment.sh
    
  3. Запущенный кластер kind:
    ./scripts/setup-kind-cluster.sh
    

Практические лабораторные работы

Каждый урок включает практические упражнения, которые добавляют вебхуки в ваш оператор.

Решения

Полные рабочие решения для всех лабораторных доступны в каталоге решений:

Навигация