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