<div><img src="https://top-fwz1.mail.ru/counter?id=3548135;js=na" style="position:absolute;left:-9999px;" alt="Top.Mail.Ru" /></div>
Бесплатный перенос IT-инфраструктуры в облако
На главную
25eb9e0a-a5a8-472a-ace7-940b8bd2adf0
Облачные сервисы

Использование Helm

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.

Linux

Чтобы установить Helm на Linux, можно использовать официальный скрипт для автоматической установки.

Скачайте установочный скрипт и измените его права на выполнение:

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 && chmod 700 get_helm.sh

Запустите скрипт для установки последней версии Helm:

./get_helm.sh

Если у вас Kubernetes версии 1.27.x - 1.26.x, укажите нужную версию Helm:

./get_helm.sh -v 3.14.1

Установка через репозиторий на Ubuntu

Для установки Helm через системный пакетный менеджер на Ubuntu, выполните следующие шаги:

Добавьте ключ подписи репозитория Helm:

curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null

Установите пакет apt-transport-https, если он не был установлен ранее:

sudo apt install apt-transport-https --yes

Добавьте репозиторий Helm в список источников APT:

echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list

После этого выполните команду:

sudo apt update

Теперь, когда все подготовительные шаги выполнены, можно установить Helm:

sudo apt install helm

Эта команда устанавливает последнюю доступную версию Helm из репозитория.

Если у вас кластер Kubernetes версии 1.27.x - 1.26.x, установите соответствующую версию Helm:

sudo apt install helm=3.14.2-1

Проверьте корректность установки, выполнив:

helm version

Image1

Windows

Чтобы установить Helm на Windows, выполните следующие шаги:

Запустите PowerShell от имени администратора.

Установите Helm с помощью следующей команды:

winget install Helm.Helm

Для Kubernetes версий 1.27.x - 1.26.x:

winget install Helm.Helm -v 3.14.1

Проверьте версию Helm:

helm version

Image3

MacOS

Чтобы установить Helm на MacOS, можно использовать официальный скрипт для автоматической установки.

Скачайте установочный скрипт и измените его права на выполнение:

curl -fsSL -o get_helm.sh https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 && chmod 700 get_helm.sh

Запустите скрипт для установки последней версии Helm:

./get_helm.sh

Если у вас Kubernetes версии 1.27.x - 1.26.x, укажите нужную версию Helm:

./get_helm.sh -v 3.14.1

Установка через Homebrew

Если вы используете Homebrew, Helm можно установить с его помощью. Обратите внимание, что в репозиториях Homebrew доступна только последняя версия Helm. Для установки выполните команду:

brew install helm

Проверьте версию Helm:

helm version

Image4

Настройка репозиториев Helm

Helm использует репозитории для хранения и распространения чартов — пакетов приложений, которые можно устанавливать в Kubernetes. Репозитории помогают управлять приложениями из централизованных источников, что упрощает процессы установки, обновления и удаления приложений.

Добавление репозитория

Чтобы установить приложение из удаленного репозитория, его нужно сначала добавить в список доступных источников. Это делается с помощью команды helm repo add. Например, для добавления популярного репозитория Bitnami выполните следующую команду:

helm repo add bitnami https://charts.bitnami.com/bitnami

Helm поддерживает как публичные, так и частные репозитории. Для работы с частными репозиториями могут потребоваться учетные данные для аутентификации, такие как токен или логин с паролем.

Обновление репозиториев

Иногда чарты в репозиториях обновляются, и чтобы убедиться, что у вас актуальные версии, необходимо периодически обновлять информацию о репозиториях. Для этого используется команда:

helm repo update

Эта команда синхронизирует ваш локальный индекс чартов с актуальным содержимым удаленных репозиториев.

Просмотр доступных репозиториев

Вы можете посмотреть список всех подключенных репозиториев с помощью команды:

helm repo list

Пример вывода: 

Image2

Удаление репозитория

Если какой-то репозиторий больше не нужен, его можно удалить с помощью команды helm repo remove. Например, чтобы удалить репозиторий Bitnami, выполните:

helm repo remove bitnami

Эта команда удаляет репозиторий только из локальной конфигурации Helm. Сами чарты и установленные приложения при этом не затрагиваются.

Установка приложений с помощью Helm

После настройки репозиториев вы можете искать и устанавливать приложения в Kubernetes с помощью Helm.

Поиск приложений в репозиториях

Для поиска нужного чарта в подключенных репозиториях используйте команду:

helm search repo <название_приложения>

Например, для поиска NGINX выполните:

helm search repo nginx

Установка приложения

Для установки найденного приложения выполните команду:

helm install <имя_релиза> <репозиторий>/<название_чарта>

Например, для установки NGINX из репозитория Bitnami:

helm install my-nginx bitnami/nginx

Проверка состояния установленного приложения

Чтобы проверить состояние приложения, выполните:

kubectl get pods

Для получения информации о релизе:

helm status <имя_релиза>

Переопределение параметров установки

Для изменения параметров чарта используйте:

helm install my-nginx bitnami/nginx --set service.type=NodePort

Удаление приложения

Чтобы удалить приложение и его ресурсы:

helm uninstall <имя_релиза>
Была ли статья полезна?
Ваша оценка очень важна
Пока нет комментариев