Helm — это инструмент для управления Kubernetes-приложениями, упрощающий развертывание, обновление и обслуживание сложных приложений, состоящих из множества Kubernetes-объектов. По своей сути, Helm можно сравнить с пакетным менеджером для Kubernetes, таким как apt или yum в Linux, но адаптированным для работы с Kubernetes-кластерами.
Helm решает несколько ключевых задач:
Упрощение развертывания
Приложения могут состоять из десятков или сотен объектов Kubernetes, таких как поды, сервисы, конфигурации и другие. Helm объединяет их в единый пакет, называемый чартом, который можно развернуть одной командой. Этот подход значительно снижает сложность ручной настройки приложений.
Управление версиями приложений
Каждый чарт может иметь несколько версий, что позволяет легко откатываться к предыдущей версии или обновлять приложение. Helm поддерживает управление версиями, отслеживание изменений развернутых приложений (релизов) и позволяет выполнять откаты при необходимости.
Повторное использование конфигураций
Helm использует шаблоны для генерации конфигурационных файлов Kubernetes, что облегчает настройку параметров, таких как количество реплик, настройки сетевого доступа, базы данных и другие переменные. Эти настройки хранятся в специальном конфигурационном файле — values.yaml. Это позволяет использовать один и тот же чарт в разных окружениях (разработка, тестирование, продакшн) с минимальными изменениями.
Централизованное управление репозиториями
Чарты хранятся в репозиториях, которые могут быть как публичными, так и частными. Helm позволяет добавлять различные репозитории, обновлять их и устанавливать приложения напрямую. Например, популярный репозиторий Bitnami содержит множество готовых к использованию чартов для различных сервисов.
Установка Helm
Helm тесно связан с версией Kubernetes, поэтому важно выбрать версию, совместимую с вашей версией кластера. Вы можете ознакомиться с таблицей совместимости версий Helm и Kubernetes в официальной документации.
- Для Kubernetes версий 1.31.x - 1.28.x рекомендуется использовать последнюю версию Helm (3.16.x).
- Для Kubernetes версий 1.27.x - 1.26.x требуется версия Helm 3.14.x.
Чтобы установить Helm на Linux, можно использовать официальный скрипт для автоматической установки.
Скачайте установочный скрипт и измените его права на выполнение:
Запустите скрипт для установки последней версии Helm:
Если у вас Kubernetes версии 1.27.x - 1.26.x, укажите нужную версию Helm:
Установка через репозиторий на Ubuntu
Для установки Helm через системный пакетный менеджер на Ubuntu, выполните следующие шаги:
Добавьте ключ подписи репозитория Helm:
Установите пакет apt-transport-https, если он не был установлен ранее:
Добавьте репозиторий Helm в список источников APT:
После этого выполните команду:
Теперь, когда все подготовительные шаги выполнены, можно установить Helm:
Эта команда устанавливает последнюю доступную версию Helm из репозитория.
Если у вас кластер Kubernetes версии 1.27.x - 1.26.x, установите соответствующую версию Helm:
Проверьте корректность установки, выполнив:

Настройка репозиториев Helm
Helm использует репозитории для хранения и распространения чартов — пакетов приложений, которые можно устанавливать в Kubernetes. Репозитории помогают управлять приложениями из централизованных источников, что упрощает процессы установки, обновления и удаления приложений.
Добавление репозитория
Чтобы установить приложение из удаленного репозитория, его нужно сначала добавить в список доступных источников. Это делается с помощью команды helm repo add. Например, для добавления популярного репозитория Bitnami выполните следующую команду:
Helm поддерживает как публичные, так и частные репозитории. Для работы с частными репозиториями могут потребоваться учетные данные для аутентификации, такие как токен или логин с паролем.
Обновление репозиториев
Иногда чарты в репозиториях обновляются, и чтобы убедиться, что у вас актуальные версии, необходимо периодически обновлять информацию о репозиториях. Для этого используется команда:
Эта команда синхронизирует ваш локальный индекс чартов с актуальным содержимым удаленных репозиториев.
Просмотр доступных репозиториев
Вы можете посмотреть список всех подключенных репозиториев с помощью команды:
Пример вывода:

Удаление репозитория
Если какой-то репозиторий больше не нужен, его можно удалить с помощью команды helm repo remove. Например, чтобы удалить репозиторий Bitnami, выполните:
Эта команда удаляет репозиторий только из локальной конфигурации Helm. Сами чарты и установленные приложения при этом не затрагиваются.
Установка приложений с помощью Helm
После настройки репозиториев вы можете искать и устанавливать приложения в Kubernetes с помощью Helm.
Поиск приложений в репозиториях
Для поиска нужного чарта в подключенных репозиториях используйте команду:
Например, для поиска NGINX выполните:
Установка приложения
Для установки найденного приложения выполните команду:
Например, для установки NGINX из репозитория Bitnami:
Проверка состояния установленного приложения
Чтобы проверить состояние приложения, выполните:
Для получения информации о релизе:
Переопределение параметров установки
Для изменения параметров чарта используйте:
Удаление приложения
Чтобы удалить приложение и его ресурсы: