Стадия жизненного цикла модуля: Experimental
У модуля есть требования для установки

Модуль operator-helm позволяет декларативно управлять развёртыванием Helm-чартов в кластере. Он ориентирован на администраторов кластеров и DevOps-инженеров и автоматизирует установку приложений с помощью кастомных ресурсов.

Контроллер модуля отслеживает состояние ресурсов HelmClusterAddon и автоматически приводит Helm-релизы в кластере в соответствие с заданными параметрами.

Основные возможности

  • Развёртывание Helm-чартов из классических HTTP/HTTPS-репозиториев и OCI-репозиториев через единый декларативный API.
  • Автоматическое обнаружение и отслеживание версий чартов через ресурсы HelmClusterAddonChart.
  • Настройка параметров чартов через ресурсы HelmClusterAddon.
  • Режим обслуживания для приостановки согласования и ручного вмешательства в управляемые релизы.
  • Поддержка проверки TLS-сертификатов и аутентификации для приватных OCI и Helm репозиториев.
  • Управление через CLI (d8 k) или веб-интерфейс Deckhouse.

Модуль находится на стадии активного развития. В будущем планируется:

  • добавить новые кастомные ресурсы для установки чартов пользователями без привилегий администратора;
  • перейти на развёртывание чартов с помощью Nelm.

Кастомные ресурсы

Для управления Helm-чартами в модуле используются следующие кастомные ресурсы:

  • HelmClusterAddonRepository — репозиторий Helm или OCI, содержащий Helm-чарты для последующей установки в кластере.
  • HelmClusterAddonChart — Helm-чарт, обнаруженный в подключённом репозитории. Эти ресурсы создаются и обновляются контроллером автоматически при синхронизации репозиториев и защищены от изменений.
  • HelmClusterAddon — декларативное описание конкретного релиза Helm-чарта. Ресурс содержит целевую версию чарта, имя пространства имён для развёртывания и пользовательские значения параметров.

Ограничения

  • Для управления ресурсами HelmClusterAddon и HelmClusterAddonRepository требуются права администратора кластера (роль cluster-admin).
  • Ресурс HelmClusterAddon, ссылающийся на заданный HelmClusterAddonChart, может быть создан в кластере только в единственном экземпляре. Это обусловлено тем, что Helm-чарты могут содержать определения кастомных ресурсов (CRD), повторная установка которых на уровне кластера недопустима.

Примеры использования приведены в разделе примеры использования.