Helm — это менеджер пакетов для Kubernetes, который упрощает развертывание, управление и обновление приложений в кластерной среде. Он позволяет описывать конфигурацию приложений с помощью Helm-чартов (Helm charts), что делает развертывание более удобным, повторяемым и масштабируемым.
Основные компоненты Helm:
- Chart — шаблон для развертывания приложения в Kubernetes. Включает описания ресурсов (Deployments, Services, ConfigMaps и др.).
- Release — установленная и управляемая версия чарта в кластере.
- Values — файл конфигурации (
values.yaml
), позволяющий настраивать параметры чарта без изменения его структуры. - Repository — хранилище Helm-чартов, аналогичное пакетным менеджерам (например, APT или YUM).
Основные команды Helm:
HELM | Что делает |
helm version | Пока версию Helm |
helm list | Показать все задеплоенные Helm Releases |
helm create MyChart | Сделать скелет Helm Chart в директории MyChart |
helm install app chart/ | Задеплоить Helm Chart app из директории chart |
helm install app-one-more Lssn-chart/ --set container.image=nginx:latest --set replicaCount=1 | Тоже самое с заменой переменных из CLI |
helm package chart/ | Запаковать Helm Chart в tgz архив |
helm install app2 App-HelmChart-0.1.0.tgz | Задеплоить Helm Chart app2 из архива |
helm search repo | Показать Helm Chart из добавленных Repos |
helm search hub | Показать Helm Chart с общего списка Hub |
helm repo add bitnami https://charts.bitnami.com/bitnami | Добавить Helm Chart Repo от bitnami |
helm install my_website bitnami/apache -f my_values.yaml | Задеплоить Helm Chart bitnami/apache с нашими переменными |
helm upgrade app1 kowalski-Chart/ --set container.image=nginx:version2 | Обновить Деплоймент app1 |
helm delete app1 ИЛИ helm uninstall app1 | Удалить Деплоймент Helm Chart app1 |