Helm
App-as-Code
Menedżer pakietów dla Kubernetes — aplikacje jako wersjonowane charty.
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
valuesw repo — to one są „kodem” wdrożenia.