← Katalog
E I A C

Helm

App-as-Code

Menedżer pakietów dla Kubernetes — aplikacje jako wersjonowane charty.

★ 27 000 Apache-2.0 #app-as-code#kubernetes#packaging#cncf

Helm to menedżer pakietów dla Kubernetes. Aplikacje i ich zależności pakujesz w „charty” — szablonowane manifesty z parametrami (values.yaml), które instalujesz, aktualizujesz i wycofujesz jako jedną, wersjonowaną jednostkę (release). Dzięki temu to samo wdrożenie powtarzasz w wielu środowiskach, zmieniając tylko wartości.

Kiedy używać

  • Wdrażasz aplikacje na Kubernetes i chcesz je wersjonować oraz łatwo wycofywać.
  • Parametryzujesz to samo wdrożenie dla dev/stage/prod przez values.
  • Korzystasz z gotowych chartów (bazy, ingress, narzędzia) z repozytoriów.

Przykład użycia

helm repo add bitnami https://charts.bitnami.com/bitnami
helm install web bitnami/nginx -f values.prod.yaml
helm upgrade web bitnami/nginx --set replicaCount=3
helm rollback web 1   # powrót do poprzedniej wersji

Szablony chartu używają wartości, np. replicas: {{ .Values.replicaCount }}.

Warto wiedzieć

  • Często łączony z Argo CD w podejściu GitOps.
  • Trzymaj values w repo — to one są „kodem” wdrożenia.