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 |