Helm
Введение
Helm — это инструмент управления пакетами для Kubernetes, который позволяет пользователям определять, устанавливать и обновлять сложные Kubernetes-приложения. Helm Chart — это шаблонизированный пакет конфигурации, содержащий определения ресурсов Kubernetes (файлы YAML).
Основные концепции Helm
- Chart: Helm Chart — это шаблонизированный пакет конфигурации, содержащий определения ресурсов Kubernetes (файлы YAML).
- Release: Helm Release — это экземпляр развернутого Helm Chart, представляющий конкретную конфигурацию ресурсов Kubernetes.
- Values: Helm Values — это параметризованные конфигурации для Helm Chart, позволяющие пользователям настраивать определения ресурсов Kubernetes.
Интеграция Argo CD с Helm улучшает практики GitOps, обеспечивая декларативную непрерывную доставку через веб-консоль, панель управления Argo CD или CLI. Пример:
Пример OCI Helm Chart:
** Жизненный цикл Application управляется Argo CD, а не Helm. **
При наличии нескольких источников значений порядок приоритета следующий: parameters > valuesObject > values > valueFiles > значения из helm репозитория values.yaml.
Преимущества
-
Шаблонизация: Helm использует движок шаблонов Go (gotpl) для динамической генерации файлов ресурсов Kubernetes.
-
Управление пакетами: Helm упаковывает приложения в Charts (включая шаблоны, значения по умолчанию и зависимости), упрощая распространение и контроль версий.
-
Управление зависимостями: Поддерживает зависимости между Charts.
-
Управление жизненным циклом: Предоставляет команды для установки, обновления и отката, обеспечивая полный контроль жизненного цикла.
Сценарии использования
-
Развертывание сложных приложений: Идеально подходит для сценариев, требующих динамической генерации конфигураций (например, переменные окружения или ввод пользователя).
-
Развертывания в нескольких средах: Поддерживает конфигурации, специфичные для среды, через файлы values.yaml.
-
Распространение приложений: Позволяет упаковывать Charts для распространения в Helm репозитории или OCI регистры.
References
For more detailed information, please refer to: Helm