Стадия жизненного цикла модуля: 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), повторная установка которых на уровне кластера недопустима.
Примеры использования приведены в разделе примеры использования.