Helm — Paketmanager für Kubernetes
Praxis-Guide zu Helm — Charts installieren, Releases verwalten, Rollbacks fahren, Repositories pflegen und Templates rendern, mit Beispielen für jeden Schritt.
Helm ist der Paketmanager für Kubernetes: Statt Dutzende einzelner YAML-Manifeste von Hand zu pflegen, bündelst du eine komplette Anwendung in einem Chart und installierst sie mit einem einzigen Befehl. Jede Installation eines Charts erzeugt ein Release, das Helm versioniert verwaltet – du kannst es aktualisieren, bei Problemen per Rollback auf eine frühere Revision zurücksetzen und über Values pro Umgebung anpassen. Seit Helm 3 läuft alles clientseitig ohne den früheren Tiller-Dienst im Cluster, was Setup und Sicherheit deutlich vereinfacht. Charts beziehst du aus Repositories oder vom Artifact Hub. Dieser Guide zeigt dir die wichtigsten Kommandos für den Alltag, vom ersten Install bis zum eigenen Chart.
Installieren & Aktualisieren
helm install <name> <chart> — Installiert ein Chart unter einem Release-Namen.
helm install my-nginx bitnami/nginxhelm install <name> <chart> -f <values> — Installiert mit einer eigenen Values-Datei.
helm install my-app ./mychart -f values-prod.yamlhelm install <name> <chart> --set <key>=<value> — Installiert mit Inline-Überschreibungen einzelner Werte.
helm install my-app bitnami/nginx --set replicaCount=3helm install <name> <chart> -n <namespace> — Installiert in einen bestimmten Namespace.
helm install my-app ./mychart -n productionhelm install <name> <chart> --dry-run — Simuliert die Installation, ohne tatsächlich zu deployen.
helm install my-app ./mychart --dry-runhelm upgrade <name> <chart> — Aktualisiert ein Release auf eine neue Chart-Version.
helm upgrade my-app bitnami/nginxhelm upgrade --install <name> <chart> — Aktualisiert das Release oder installiert es, falls es noch nicht existiert (idempotent).
helm upgrade --install my-app ./mychart -f values.yamlReleases auflisten & Status
helm list — Listet alle Releases im aktuellen Namespace auf.
helm listhelm list -A — Listet Releases über alle Namespaces hinweg auf.
helm list -Ahelm status <name> — Zeigt den Status eines Releases.
helm status my-apphelm history <name> — Zeigt die Revisions-Historie eines Releases.
helm history my-apphelm get values <name> — Zeigt die für ein Release verwendeten Values.
helm get values my-apphelm get manifest <name> — Zeigt die gerenderten Kubernetes-Manifeste.
helm get manifest my-appRollback & Deinstallation
helm rollback <name> <revision> — Setzt ein Release auf eine frühere Revision zurück.
helm rollback my-app 2helm uninstall <name> — Deinstalliert ein Release.
helm uninstall my-apphelm uninstall <name> --keep-history — Deinstalliert, behält aber die Release-Historie.
helm uninstall my-app --keep-historyRepositories
helm repo add <name> <url> — Fügt ein Chart-Repository hinzu.
helm repo add bitnami https://charts.bitnami.com/bitnamihelm repo update — Aktualisiert den lokalen Index der Chart-Repositories.
helm repo updatehelm repo list — Listet alle konfigurierten Repositories auf.
helm repo listhelm repo remove <name> — Entfernt ein Repository.
helm repo remove bitnamihelm search repo <keyword> — Sucht Charts in den hinzugefügten Repositories.
helm search repo nginxhelm search hub <keyword> — Sucht Charts auf dem Artifact Hub.
helm search hub postgresqlCharts erstellen & rendern
helm create <name> — Erstellt das Grundgerüst für ein neues Chart.
helm create my-charthelm template <name> <chart> — Rendert die Chart-Templates lokal, ohne zu deployen.
helm template my-app ./mychart -f values.yamlhelm lint <chart> — Prüft ein Chart auf Fehler.
helm lint ./mycharthelm package <chart> — Verpackt ein Chart in ein .tgz-Archiv.
helm package ./mycharthelm show values <chart> — Zeigt die Standard-Values eines Charts.
helm show values bitnami/nginxhelm dependency update <chart> — Lädt die Abhängigkeiten eines Charts herunter.
helm dependency update ./mychart Fazit
Helm nimmt dir die Routine ab, ganze Anwendungen reproduzierbar in Kubernetes auszurollen: Aus losen Manifesten wird ein versioniertes Release, das du gezielt aktualisierst oder zurückrollst. Wenn du eigene Charts pflegst, lohnt es sich, früh auf saubere values.yaml-Strukturen und helm lint zu setzen – so bleiben deine Deployments auch über viele Umgebungen hinweg nachvollziehbar und wartbar.
Weiterführende Links
- Helm – offizielle Dokumentation – Referenz, Konzepte und Best Practices (englisch)
- Artifact Hub – zentrale Suche nach fertigen Charts (englisch)
- Helm – Wikipedia – Hintergrund und Geschichte (englisch)
Verwandte Kommandos
- ddev – lokale Entwicklungsumgebungen für Container starten
- docker – Container-Images bauen und ausführen
- docker-compose – Multi-Container-Setups deklarativ definieren