Übersicht
Helm ist ein unverzichtbares Werkzeug für die Bereitstellung und Verwaltung von Anwendungen in Kubernetes-Clustern. Sie können Anwendungen aus Chart-Repositories suchen, installieren und über die Versionsverwaltung aktualisieren und zurückrollen. Dies ermöglicht die Verwaltung komplexer Kubernetes-Ressourcen als eine einzige logische Einheit.
Hauptfunktionen
Die Kernfunktionen von Helm sind:
- Paketierung von Kubernetes-Anwendungen (Charts)
- Verwaltung und Suche von Chart-Repositories
- Bereitstellung, Aktualisierung und Rückgängigmachung von Anwendungen
- Release-Management und Historienverfolgung
- Flexible Konfiguration durch Vorlagen
Installation
Helm ist auf den meisten Linux-Distributionen nicht standardmäßig enthalten und muss manuell installiert werden. Hier sind die gängigen Installationsmethoden.
Installation mit Skript (empfohlen)
curl -fsSL https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash
Die gebräuchlichste und empfohlene Methode zur Installation von Helm ist die Verwendung des offiziellen Installationsskripts.
Installation mit Homebrew (macOS/Linux)
brew install helm
Wenn Sie den Homebrew-Paketmanager verwenden, können Sie Helm mit dem folgenden Befehl installieren.
Installation mit apt (Debian/Ubuntu)
curl https://baltocdn.com/helm/signing.asc | gpg --dearmor | sudo tee /usr/share/keyrings/helm.gpg > /dev/null
sudo apt-get install apt-transport-https --yes
echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/helm.gpg] https://baltocdn.com/helm/stable/debian/ all main" | sudo tee /etc/apt/sources.list.d/helm-stable-debian.list
sudo apt-get update
sudo apt-get install helm
Auf Debian- oder Ubuntu-basierten Systemen können Sie Helm über den apt-Paketmanager installieren.
Wichtige Unterbefehle
Helm-Befehle ermöglichen eine flexible Verwaltung von Kubernetes-Anwendungen durch verschiedene Unterbefehle. Hier sind die am häufigsten verwendeten Unterbefehle.
Release-Management
Chart-Management
Informationen abrufen
Erzeugter Befehl:
Kombinieren Sie die Befehle.
Beschreibung:
`helm` Führen Sie den Befehl aus.
Kombinieren Sie diese Optionen und führen Sie die Befehle virtuell zusammen mit der KI aus.
Anwendungsbeispiele
Hier sind einige Beispiele für die Verwaltung von Kubernetes-Anwendungen mit den Hauptfunktionen von Helm.
Chart-Repository hinzufügen
helm repo add bitnami https://charts.bitnami.com/bitnami
Fügt das Bitnami Chart-Repository hinzu, um auf verschiedene Anwendungs-Charts zugreifen zu können.
Chart-Repository aktualisieren
helm repo update
Aktualisiert die Informationen aller hinzugefügten Chart-Repositories auf den neuesten Stand.
Chart suchen
helm search repo nginx
Sucht nach Charts, die das Schlüsselwort 'nginx' im Repository enthalten.
Chart installieren
helm install my-nginx bitnami/nginx
Installiert das Nginx-Chart von Bitnami unter dem Namen 'my-nginx'.
Release-Liste anzeigen
helm list
Zeigt eine Liste aller aktuell im Kubernetes-Cluster bereitgestellten Helm-Releases an.
Release aktualisieren
helm upgrade my-nginx bitnami/nginx --set service.type=NodePort
Aktualisiert das bestehende 'my-nginx'-Release und ändert den Nginx-Service-Typ auf NodePort.
Release deinstallieren
helm uninstall my-nginx
Entfernt alle Kubernetes-Ressourcen, die mit dem Release namens 'my-nginx' verbunden sind.
Tipps & Hinweise
Tipps und Hinweise zur effektiven Nutzung von Helm und zur Vermeidung potenzieller Probleme.
Helm-Chart-Entwicklung und -Validierung
Nützliche Tipps für die Entwicklung eigener Charts oder die Modifizierung bestehender Charts.
- Verwenden Sie den Befehl `helm create <Chartname>`, um eine grundlegende Chart-Struktur zu erstellen, und modifizieren Sie die Dateien `values.yaml` und die Vorlagen, um Ihre Anwendung zu definieren.
- Verwenden Sie `helm lint <Chartpfad>`, um die Gültigkeit Ihres Charts zu überprüfen und potenzielle Fehler oder Warnungen frühzeitig zu erkennen. Dies ist sehr hilfreich, um Probleme vor der Bereitstellung zu beheben.
Sicheres Release-Management
Methoden zur Reduzierung von Risiken bei Bereitstellungen und Aktualisierungen.
- Verwenden Sie die Optionen `--dry-run --debug` zusammen mit `helm install` oder `helm upgrade`, um die gerenderten YAML-Manifeste vor der tatsächlichen Bereitstellung zu überprüfen. Dies ist sehr nützlich, um unerwartete Änderungen oder Fehler im Voraus zu erkennen.
- Ab Helm 3 ist die Option `--purge` für die Release-Deinstallation nicht mehr erforderlich, und alle Ressourcen werden standardmäßig entfernt. Um die Release-Historie beizubehalten, verwenden Sie `helm uninstall --keep-history <Release-Name>`.
Namespace-Spezifikation
So stellen Sie ein Release in einem bestimmten Kubernetes-Namespace bereit.
- Beschreibung: Verwenden Sie die Option `--namespace <Namespace-Name>` bei `helm install` oder `helm upgrade`, um ein Release in einem bestimmten Namespace bereitzustellen. Wenn der Namespace nicht existiert, können Sie ihn mit der Option `--create-namespace` automatisch erstellen lassen.