iToverDose/Software· 24 APRIL 2026 · 16:04

Helm 3: Kubernetes-Projekte effizient verwalten mit Helm-Charts

Erfahren Sie, wie Helm 3 als Paketmanager für Kubernetes komplexe Anwendungen vereinfacht – von der Chart-Erstellung bis zu Versionierung und Rollbacks. Praktische Anleitungen und Befehle für den Einstieg.

DEV Community4 min0 Kommentare

Helm 3 hat die Art und Weise revolutioniert, wie Teams Kubernetes-Anwendungen bereitstellen. Als offizieller Paketmanager für Kubernetes vereinfacht die Lösung die Verwaltung von Ressourcen erheblich – ähnlich wie apt für Ubuntu oder npm für Node.js. Statt zahlreiche YAML-Manifeste manuell zu bearbeiten und mit kubectl apply zu deployen, bündelt Helm diese in wiederverwendbare Charts. Ein Chart enthält alle notwendigen Kubernetes-Ressourcen, Konfigurationen und Abhängigkeiten, um eine Anwendung als Einheit zu installieren, zu aktualisieren oder zurückzusetzen.

Warum Helm die Kubernetes-Entwicklung beschleunigt

Die manuelle Verwaltung von Kubernetes-Konfigurationen ist fehleranfällig und zeitaufwendig. Helm 3 adressiert diese Herausforderungen durch:

  • Vereinfachte Bereitstellung: Ein einzelner Befehl installiert eine vollständige Anwendung mit allen Abhängigkeiten – ohne manuelle kubectl-Aufrufe.
  • Wiederverwendbare Vorlagen: Kubernetes-Manifeste werden als Go-Templates definiert, die dynamisch mit Variablen befüllt werden. Dies reduziert Duplikate und vereinfacht die Wartung.
  • Versionierung und Rollbacks: Jede Installation wird als Release protokolliert. Im Fehlerfall lassen sich vorherige Versionen mit einem Befehl wiederherstellen.
  • Modularität: Charts können Abhängigkeiten zu anderen Charts definieren, sodass komplexe Stacks wie Monitoring-Lösungen einfach zusammengesetzt werden können.

Die Architektur von Helm 3: Komponenten und ihr Zusammenspiel

Helm 3 besteht aus mehreren Kernkomponenten, die gemeinsam die Paketverwaltung ermöglichen:

1. Repository: Die zentrale Quelle für Charts

Ein Repository ist ein Speicherort, an dem Helm-Charts gehostet und geteilt werden – vergleichbar mit Docker Hub für Container. Bekannte Repositories sind:

  • Die offizielle Helm-Chart-Registry
  • Community-Repositories wie das von Bitnami oder Prometheus Community
  • Private Repositories für unternehmensinterne Charts

Helm ermöglicht das Durchsuchen, Hinzufügen und Aktualisieren von Repositories mit einfachen Befehlen:

helm repo add prometheus 
helm repo update

2. Chart: Das Paketformat für Kubernetes-Anwendungen

Ein Chart ist ein Archiv, das alle Ressourcen einer Anwendung enthält – strukturiert in einer definierten Verzeichnisstruktur. Ein Chart besteht aus:

  • `Chart.yaml`: Metadaten wie Name, Version und Beschreibung der Anwendung.
  • `values.yaml`: Standardkonfigurationen, die später überschrieben werden können.
  • `templates/`: Go-Template-Dateien, die Kubernetes-Manifeste generieren (z. B. deployment.yaml, service.yaml).
  • `charts/`: Abhängigkeiten zu anderen Charts.
  • `_helpers.tpl`: Wiederverwendbare Template-Hilfsfunktionen.

Ein Beispiel für die Verzeichnisstruktur eines Charts:

mychart/
├── Chart.yaml
├── values.yaml
├── templates/
│   ├── deployment.yaml
│   ├── service.yaml
│   └── _helpers.tpl
└── charts/

3. Release: Eine laufende Instanz eines Charts

Jede Installation eines Charts in einem Kubernetes-Cluster erzeugt einen Release. Helm verfolgt die Historie jedes Releases, sodass Versionen verglichen und bei Bedarf zurückgesetzt werden können:

helm list
helm status my-release

Helm-Befehle für den Einstieg: Ein Praxisleitfaden

Helm bietet eine intuitive Befehlszeile, mit der sich Charts verwalten lassen. Hier die wichtigsten Kommandos im Überblick:

Grundlegende Repository-Operationen

  • Einen neuen Repo hinzufügen:
  helm repo add bitnami 
  • Repositories aktualisieren:
  helm repo update
  • Nach Charts suchen:
  helm search repo nginx

Installation, Aktualisierung und Verwaltung von Releases

  • Ein Chart installieren:
  helm install my-nginx bitnami/nginx --namespace webapp
  • Ein Release aktualisieren:
  helm upgrade my-nginx bitnami/nginx --set replicaCount=3
  • Ein Release zurücksetzen:
  helm rollback my-nginx 1
  • Ein Release deinstallieren:
  helm uninstall my-nginx

Chart-Inspektion und Fehlerbehebung

  • Release-Historie anzeigen:
  helm history my-release
  • Standardwerte eines Charts anzeigen:
  helm show values bitnami/nginx
  • Manifest-Dateien eines Releases anzeigen:
  helm get manifest my-release

Praktische Übung: Ein einfaches Monitoring-Setup mit Helm

Um Helm in der Praxis kennenzulernen, installieren Sie das kube-prometheus-stack-Chart, das eine vollständige Monitoring-Lösung für Kubernetes bereitstellt. Die Schritte im Detail:

1. Repositories hinzufügen und aktualisieren

helm repo add prometheus-community 
helm repo add grafana 
helm repo update

2. Chart installieren

Erstellen Sie einen dedizierten Namespace für das Monitoring:

kubectl create namespace monitoring

Installieren Sie die Chart mit einer spezifischen Version:

helm install monitoring prometheus-community/kube-prometheus-stack \
  --namespace monitoring \
  --version 65.1.1

3. Zugriff auf die Benutzeroberflächen

Nach der Installation der Pods können Sie die UIs von Grafana, Prometheus und Alertmanager per Port-Forwarding erreichen:

# Grafana (Standard-Login: admin / prom-operator)
kubectl port-forward -n monitoring svc/monitoring-grafana 3000:80

# Prometheus
kubectl port-forward -n monitoring svc/monitoring-kube-prometheus-prometheus 9090:9090

# Alertmanager
kubectl port-forward -n monitoring svc/monitoring-kube-prometheus-alertmanager 9093:9093

4. Release verwalten und bereinigen

  • Release-Status prüfen:
  helm status monitoring -n monitoring
  • Grafana-Replikate erhöhen:
  helm upgrade monitoring prometheus-community/kube-prometheus-stack \
    --namespace monitoring \
    --set grafana.replicas=2
  • Release zurücksetzen:
  helm rollback monitoring 1 -n monitoring
  • Installation bereinigen:
  helm uninstall monitoring -n monitoring
  kubectl delete namespace monitoring

Helm-Charts selbst erstellen: Ein Leitfaden für Entwickler

Die Erstellung eines eigenen Charts beginnt mit dem Befehl:

helm create mychart

Dies generiert eine Grundstruktur mit allen notwendigen Dateien. Passen Sie die Dateien wie folgt an:

Chart.yaml: Metadaten definieren

apiVersion: v2
name: my-webapp
version: 1.0.0
description: Eine einfache Webanwendung mit Helm
appVersion: "1.0.0"

values.yaml: Standardkonfigurationen anpassen

replicaCount: 2
image:
  repository: nginx
  tag: latest
service:
  type: ClusterIP
  port: 80

Abhängigkeiten verwalten

Fügen Sie Abhängigkeiten zu anderen Charts hinzu:

dependencies:
  - name: redis
    version: "17.11.0"
    repository: "

Aktualisieren Sie die Abhängigkeiten mit:

helm dependency update

Chart verpacken und teilen

Ein Chart kann als .tgz-Archiv exportiert werden:

helm package mychart/

Dieses Archiv kann dann in ein Repository hochgeladen oder lokal installiert werden.

Fazit: Helm 3 als unverzichtbares Werkzeug für Kubernetes

Helm 3 hat sich als Standard für die Bereitstellung von Kubernetes-Anwendungen etabliert. Die Lösung vereinfacht nicht nur die Verwaltung komplexer Stacks, sondern ermöglicht auch eine reproduzierbare und versionierte Bereitstellung. Mit der Fähigkeit, Abhängigkeiten zu verwalten und Rollbacks durchzuführen, wird Helm zu einem unverzichtbaren Werkzeug für Entwickler und DevOps-Teams. Wer Kubernetes effizient nutzen möchte, kommt an Helm kaum vorbei – die Einstiegshürde ist gering, der Nutzen jedoch enorm.

KI-Zusammenfassung

Learn how Helm 3 simplifies Kubernetes deployments with charts, rollbacks, and templating. Master essential commands and best practices for streamlined DevOps workflows.

Kommentare

00
KOMMENTAR SCHREIBEN
ID #IRNJCQ

0 / 1200 ZEICHEN

Menschen-Check

5 + 7 = ?

Erscheint nach redaktioneller Prüfung

Moderation · Spam-Schutz aktiv

Noch keine Kommentare. Sei der erste.