Einführung
Helm ist ein Kubernetes-Bereitstellungstool zum Automatisieren der Erstellung, Verpackung, Konfiguration und Bereitstellung von Anwendungen und Diensten in Kubernetes-Clustern.
Kubernetes ist ein leistungsstarkes Container-Orchestrierungssystem für die Anwendungsbereitstellung. Es gibt mehrere unabhängige Ressourcen, mit denen umgegangen werden muss, und jede erfordert eine dedizierte YAML-Manifestdatei.
In diesem Artikel wird erläutert, was Helm und Helm-Charts sind und wie die Anwendungsbereitstellung in Kubernetes automatisiert wird.
Was ist Helm?
Wenn Kubernetes ein Betriebssystem wäre, wäre Helm der Paketmanager. Ubuntu verwendet apt
verwendet CentOS yum
, und Kubernetes verwendet helm
.
Helm stellt gepackte Anwendungen in Kubernetes bereit und strukturiert sie in Diagrammen. Die Diagramme enthalten alle vorkonfigurierten Anwendungsressourcen zusammen mit allen Versionen in einem einfach zu verwaltenden Paket.
Helm optimiert die Installation, das Upgrade, das Abrufen von Abhängigkeiten und das Konfigurieren von Bereitstellungen auf Kubernetes mit einfachen CLI-Befehlen. Softwarepakete werden in Repositories gefunden oder erstellt.
Warum brauchen wir Helm?
Kubernetes-Objekte sind schwierig zu verwalten. Mit hilfreichen Tools wird die Kubernetes-Lernkurve reibungslos und überschaubar. Helm automatisiert die Wartung von YAML-Manifesten für Kubernetes-Objekte, indem es Informationen in Diagramme packt und sie einem Kubernetes-Cluster ankündigt.
Helm verfolgt den versionierten Verlauf jeder Diagramminstallation und -änderung. Ein Rollback auf eine frühere Version oder ein Upgrade auf eine neuere Version wird mit verständlichen Befehlen durchgeführt.
Was können Sie mit Helm tun?
Helm ermöglicht es Softwareentwicklern, eine Umgebung auf einfachste Weise bereitzustellen und zu testen. Es wird weniger Zeit benötigt, um von der Entwicklung über das Testen bis zur Produktion zu gelangen.
Neben der Steigerung der Produktivität stellt Helm eine bequeme Möglichkeit für Entwickler dar, Anwendungen zu packen und zur Installation an Endbenutzer zu senden.
Wie funktioniert Helm?
Helm und Kubernetes funktionieren wie eine Client/Server-Anwendung. Der Helm-Client überträgt Ressourcen an den Kubernetes-Cluster. Die Serverseite hängt von der Version ab:Helm 2 verwendet Tiller, während Helm 3 Tiller losgeworden ist und sich vollständig auf die Kubernetes-API verlässt.
Was ist ein Helm-Diagramm?
Helm-Diagramme sind Helm-Pakete, die aus YAML-Dateien und Vorlagen bestehen, die in Kubernetes-Manifestdateien konvertiert werden. Diagramme können von jedem für jede Umgebung wiederverwendet werden, wodurch Komplexität und Duplikate reduziert werden. Ordner haben folgende Struktur:
Wie funktionieren Helm-Charts?
Die drei grundlegenden Konzepte von Helm-Diagrammen sind:
1. Diagramm – Vorkonfigurierte Vorlage von Kubernetes-Ressourcen.
2. Freigeben – Ein Diagramm, das mit Helm in einem Kubernetes-Cluster bereitgestellt wird.
3. Speicher – Öffentlich verfügbare Diagramme.
Der Arbeitsablauf besteht darin, Repositories zu durchsuchen für Diagramme und installieren Sie sie in Kubernetes-Clustern, indem Sie Releases erstellen .
Helm-Chart-Struktur
Die Dateien und Verzeichnisse eines Helm-Charts haben jeweils eine bestimmte Funktion:
Name | Typ | Funktion |
---|---|---|
Diagramme/ | Verzeichnis | Verzeichnis für manuell verwaltete Diagrammabhängigkeiten. |
Vorlagen/ | Verzeichnis | Vorlagendateien werden in Golang geschrieben und mit Konfigurationswerten aus der Datei values.yaml kombiniert, um Kubernetes-Manifeste zu generieren. |
Chart.yaml | Datei | Metadaten über das Diagramm, wie z. B. Version, Name, Suchbegriffe usw. |
LIZENZ (optional) | Datei | Lizenz für das Diagramm im Klartextformat. |
README.md (optional) | Datei | Menschlich lesbare Informationen für die Benutzer der Karte. |
requirements.yaml (optional) | Datei | Liste der Diagrammabhängigkeiten. |
values.yaml | Datei | Standardkonfigurationswerte für das Diagramm. |
Erstellen Sie Helm-Diagramme manuell oder sammeln Sie öffentlich verfügbare Diagramme aus Repositories.
Helm Chart-Repositories
Die Repositorys enthalten Diagramme, die installiert oder mit anderen Benutzern geteilt werden können. Helm stellt einen Befehl bereit, um direkt vom Client aus zu suchen. Es gibt zwei allgemeine Suchtypen:
1. helm search hub
– Durchsucht den Artifact Hub aus Dutzenden von Repositories.
2. helm search repo
– Durchsucht Repositories, die im lokalen Helm-Client mit helm repo add hinzugefügt wurden .
Ohne Filter werden alle verfügbaren Diagramme im Suchergebnis angezeigt. Fügen Sie einen Suchbegriff hinzu, um die Abfrage zu verfeinern. Zum Beispiel:
helm search hub wordpress
Wenn Sie eine geeignete Karte finden, installieren Sie sie mit helm install
.
Helm Chart-Veröffentlichungen
Durch die Installation eines Diagramms wird eine Version des neuen Pakets erstellt. Die helm install
Der Befehl benötigt zwei Argumente:
helm install <release name> <chart name>
Ausführen von helm install
druckt nützliche Informationen und ob Sie Maßnahmen zur Installation ergreifen sollten. Diagramme sind anpassbar und können vor der Installation einfach konfiguriert werden. Helm-Releases sind einfach zu warten und bei unerwünschten Änderungen rückgängig zu machen.