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, обеспечивая декларативную непрерывную доставку через web console, Argo CD dashboard или CLI. Пример:
Пример OCI Helm Chart:
** Жизненным циклом Application управляет Argo CD, а не Helm. **
Если заданы несколько источников значений, порядок приоритета следующий: parameters > valuesObject > values > valueFiles > values.yaml из helm repository.
Преимущества
-
Шаблонизация: Helm использует движок шаблонов Go (gotpl) для динамической генерации файлов ресурсов Kubernetes.
-
Управление пакетами: Helm упаковывает приложения в Charts (включая шаблоны, значения по умолчанию и зависимости), упрощая распространение и контроль версий.
-
Управление зависимостями: Поддерживает зависимости между Charts.
-
Управление жизненным циклом: Предоставляет такие команды, как install, upgrade и rollback, для полного управления жизненным циклом.
Сценарии использования
-
Развертывание сложных приложений: Идеально подходит для сценариев, требующих динамической генерации конфигурации (например, переменных среды или пользовательского ввода).
-
Развертывания в нескольких средах: Поддерживает конфигурации для конкретных сред через файлы values.yaml.
-
Распространение приложений: Позволяет упаковывать Charts для распространения в helm repositories или OCI registries.
Ссылки
Для получения более подробной информации см.: Helm