Operator Kubernetes

Простыми словами

Обычному контроллеру достаточно знать, сколько экземпляров запустить. Оператор базы данных может дополнительно знать, как выбрать ведущий экземпляр, выполнить резервное копирование и безопасно обновить кластер.

Как применяется

Операторы применяют для сложных сервисов с состоянием: баз данных, систем мониторинга и очередей. Перед установкой оценивают происхождение кода, права service account, охват namespaces и порядок обновлений. Автоматизация с чрезмерными правами увеличивает последствия компрометации.

Пример применения

Администратор меняет версию в пользовательском ресурсе базы данных. Оператор готовит последовательное обновление экземпляров и отражает результат в статусе. Команда заранее проверяет резервную копию, совместимость версии и условия остановки: наличие оператора не гарантирует сохранность данных.

Не путать с

  • Контроллер KubernetesОбщий механизм согласования состояния; оператор добавляет знания о конкретном приложении.
  • Helm chartОписывает установку через шаблоны; сам по себе не выполняет постоянное управление приложением.
  • АдминистраторЧеловек принимает организационные решения и отвечает за эксплуатацию; оператор выполняет запрограммированные действия.

Как это работает

  1. Установить расширениеДобавляют определения пользовательских ресурсов и контроллер с минимальными правами.
  2. Задать желаемое состояниеВ ресурсе приложения описывают версию, конфигурацию и требуемые экземпляры.
  3. Выполнить согласованиеКонтроллер наблюдает изменения и создаёт или корректирует управляемые объекты.
  4. Проверить статусКонтролируют ошибки, журнал действий, резервирование и результат автоматических операций.

Продолжить изучение

Связанные термины

Частые вопросы

Оператор нужен каждому сервису?

Нет. Для простого приложения могут быть достаточны стандартные Deployment и средства доставки конфигурации.

Оператор и Helm совместимы?

Да. Helm может устанавливать оператор, а дальнейший жизненный цикл приложения обслуживает его контроллер.

Можно выдать cluster-admin?

Только при обоснованной необходимости. Сначала проверяют конкретные требуемые API-действия и ограничивают область доступа.

Operator Kubernetes — расширение, которое использует пользовательские ресурсы и контроллер для автоматизации управления приложением. В цикле согласования оператор сопоставляет желаемое и фактическое состояние и выполняет действия, специфичные для этого приложения.