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 > values.yaml репозитория Helm.
Преимущества
-
Шаблонизация: Helm использует движок шаблонов Go (gotpl) для динамической генерации файлов ресурсов Kubernetes.
-
Управление пакетами: Helm упаковывает приложения в Charts (включая шаблоны, значения по умолчанию и зависимости), упрощая распространение и контроль версий.
-
Управление зависимостями: Поддерживает зависимости между Charts.
-
Управление жизненным циклом: Предоставляет команды, такие как install, upgrade и rollback, для полного управления жизненным циклом.
Сценарии использования
-
Развертывание сложных приложений: Идеально подходит для сценариев, требующих динамической генерации конфигурации (например, переменных среды или пользовательского ввода).
-
Развертывания в нескольких средах: Поддерживает конфигурации, специфичные для среды, через файлы values.yaml.
-
Распространение приложений: Позволяет упаковывать Charts для распространения в репозитории Helm или OCI registries.
Ссылки
Для получения более подробной информации см.: Helm