Wiki
DevOps

Helm — что это простыми словами

Helm — пакетный менеджер для Kubernetes. Chart описывает templated манифесты + values.yaml. Стандарт для деплоя Postgres, Redis, Prometheus и др. в k8s.

Helm — de-facto стандарт для установки приложений в Kubernetes. Аналог apt/yum, но для k8s. Пакет называется Chart: набор YAML-шаблонов манифестов (Deployment, Service, ConfigMap, Secret) + `values.yaml` (параметры) + `Chart.yaml` (метаданные).

Использование: `helm install my-postgres bitnami/postgresql --set auth.password=xxx --set persistence.size=20Gi`. Helm рендерит шаблоны с вашими values и применяет к кластеру. Upgrade, rollback, history — как для деплоев (`helm rollback my-postgres 1`).

Public-репозитории: Bitnami (Postgres, Redis, MongoDB, Kafka — production-ready), Artifact Hub (агрегатор), ingress-nginx, cert-manager, kube-prometheus-stack. Для private-charts — Harbor или ChartMuseum.

Практика для нашего кластера: наш k3s использует Helm для установки cert-manager, ingress-nginx, prometheus-stack. Ваш VPS с single-node k3s — та же схема. Готовые charts экономят месяцы копипаста YAML.

Частые вопросы

Helm vs Kustomize?
Helm — шаблонизация (go-template в манифестах). Kustomize — patch-based (overlay). Helm богаче, Kustomize проще. Помещаются вместе.
Chart из GitHub без helm-репозитория?
`helm install my-app oci://ghcr.io/user/chart` (OCI-registry) или `git clone && helm install my-app ./chart`.

Смотрите также