Helm-Tutorial: Kubernetes-Anwendungen verwalten
Was ist Helm?
Helm ist der Paketmanager für Kubernetes. Er ermöglicht es, komplexe Kubernetes-Anwendungen mithilfe wiederverwendbarer Pakete, sogenannter Charts, zu definieren, zu installieren und zu aktualisieren. Stellen Sie sich Helm als apt oder brew für Kubernetes vor.
Schlüsselkonzepte
| Begriff | Beschreibung |
|---|---|
| Chart | Paket mit allen Kubernetes-Ressourcendefinitionen einer Anwendung |
| Release | Eine laufende Instanz eines im Cluster installierten Charts |
| Repository | Ort, an dem Charts gespeichert und geteilt werden |
| Values | Konfigurationsparameter, die ein Chart zur Installationszeit anpassen |
Installation
# macOS
brew install helm
# Linux
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Installation überprüfen:
helm version
Ein Chart-Repository hinzufügen
Fügen Sie das Bitnami-Repository hinzu – eine der beliebtesten Quellen für produktionsreife Charts:
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo update
Verfügbare Charts suchen:
helm search repo nginx
Ein Chart installieren
NGINX von Bitnami installieren:
helm install my-nginx bitnami/nginx
Das Format lautet helm install <release-name> <repo/chart>. Helm erstellt alle erforderlichen Kubernetes-Ressourcen und verfolgt den Release-Zustand.
Laufende Releases auflisten:
helm list
Mit Values anpassen
Jedes Chart bietet konfigurierbare Werte. Standardwerte anzeigen:
helm show values bitnami/nginx
Werte bei der Installation mit --set oder einer Values-Datei überschreiben:
# Direktes Überschreiben
helm install my-nginx bitnami/nginx --set replicaCount=2
# Dateibasiertes Überschreiben
helm install my-nginx bitnami/nginx -f custom-values.yaml
Beispiel custom-values.yaml:
replicaCount: 2
service:
type: ClusterIP
resources:
requests:
cpu: 100m
memory: 128Mi
Einen Release aktualisieren
Konfigurationsänderungen oder eine neue Chart-Version auf einen laufenden Release anwenden:
helm upgrade my-nginx bitnami/nginx --set replicaCount=3
Mit --install wird installiert, falls noch nicht vorhanden (Upsert-Muster):
helm upgrade --install my-nginx bitnami/nginx -f custom-values.yaml
Zurückrollen
Bei Problemen können Sie zu einer früheren Revision zurückrollen:
# Revisionsverlauf anzeigen
helm history my-nginx
# Zu Revision 1 zurückrollen
helm rollback my-nginx 1
Einen Release deinstallieren
helm uninstall my-nginx
Dadurch werden alle mit dem Release verbundenen Kubernetes-Ressourcen entfernt. Fügen Sie --keep-history hinzu, wenn Sie den Release-Eintrag für Audits behalten möchten.
Ein eigenes Chart erstellen
Chart-Gerüst generieren:
helm create my-app
Dies erzeugt das Standard-Verzeichnis-Layout:
my-app/
├── Chart.yaml # Chart-Metadaten (Name, Version, Beschreibung)
├── values.yaml # Standard-Konfigurationswerte
└── templates/ # Kubernetes-Manifest-Vorlagen
├── deployment.yaml
├── service.yaml
└── _helpers.tpl # Wiederverwendbare Template-Schnipsel
Wenn Sie mich unterstützen möchten, kaufen Sie mir einen Kaffee.