Wenn Sie aus dem Entwicklungsbereich kommen, ist Ihnen der Begriff Paketmanager wahrscheinlich bekannt. Paketmanager ermöglichen es Ihnen, Abhängigkeiten zu installieren, Versionen zu aktualisieren und herabstufen und so weiter. In diesem Tutorial werden wir uns einen sehr beliebten Paketmanager für Kubernetes, genannt Helm.
Helm unterstützt bei der Verwaltung von Kubernetes-Anwendungen. Mit Helm können Sie eine Kubernetes-Anwendung definieren und dabei die Anwendungsmetadaten, Abhängigkeiten und Konfigurationen angeben. Helm kann auch Anwendungen auf Kubernetes installieren sowie die Anwendungen aktualisieren und herabstufen. Schließlich können Sie Ihre Anwendung mithilfe der Helm-Datei mit anderen teilen. In diesem Tutorial zeigen wir Ihnen, wie Sie Helm 3 installieren sowie Charts und Releases unter Windows OS einrichten, aktualisieren, zurückrollen und verwalten.
Fangen wir an!
Voraussetzungen
Bevor wir mit dem Tutorial beginnen, müssen Sie sicherstellen, dass Sie zuerst die folgenden Installationen durchgeführt haben:
-
Wenn Sie Kubernetes unter Windows noch nicht eingerichtet haben, ist der einfachste Weg der Einstieg mit Docker Desktop. Gehen Sie zu https://www.docker.com/products/docker-desktop. Laden Sie Docker Desktop herunter und installieren Sie es. In diesem Tutorial werden wir mit Windows arbeiten. Daher müssen wir das WSL 2-Backend installieren. Dies ist ein Linux-Subsystem für Windows und ermöglicht die Unterstützung von Docker:

Sobald Docker Desktop bereit ist, gehen Sie zu Settings -> Kubernetes und aktivieren Sie die Option Enable Kubernetes:


Um zu überprüfen, ob alles einwandfrei funktioniert, gehen Sie in das Terminal oder die PowerShell (je nachdem, welches System Sie verwenden) und geben Sie den folgenden Befehl ein:
|
1 |
kubectl |
Wenn Sie die folgende Ausgabe sehen, kann es losgehen:

Alternativ können Sie, wenn Sie sich für die Arbeit unter Ubuntu entscheiden, unserer detaillierten Anleitung folgen: So installieren und verwenden Sie Kubernetes unter Ubuntu 20.04.
Bevor wir mit dem Installationsprozess beginnen, werfen wir außerdem einen Blick auf einige Schlüsselbegriffe, die mit Helm verbunden sind.
-
Charts
Kubernetes-YAML-Dateien werden in den Helm-Charts verpackt.
-
Helm-Repositories
Helm bietet Unterstützung für Repositories. Ein Helm-Repository ist ein Ort, an dem Helm-Charts gespeichert werden, damit andere sie verwenden können. Helm ermöglicht es Ihnen, eigene Repositories zu erstellen und unterstützt auch Repositories von Drittanbietern.
-
Tiller
Tiller ist die Serverkomponente von Helm. Sie muss auf dem Kubernetes-Cluster installiert werden. Sie nimmt das Helm-Chart entgegen und konfiguriert den Cluster entsprechend.
Sie können auch einen Blick auf unseren Blogbeitrag werfen, der einen detaillierten Überblick über Helm gibt und die Methoden von Helm zur Vereinfachung der Anwendungsbereitstellung auf Kubernetes erklärt.
Jetzt sind wir bereit zu starten!
Schritt 1: Helm 3 installieren
Die Installation von Helm 3 ist ein unkomplizierter Prozess. Die Releases sind verfügbar auf der GitHub-Seite von Helm. Sie können das Release, das Sie verwenden möchten, basierend auf dem Betriebssystem Ihrer Wahl herunterladen. In diesem Tutorial werden wir das Windows-Betriebssystem verwenden. Befolgen Sie für Windows daher die folgenden Schritte:
-
Laden Sie auf der GitHub-Seite die Helm-Binärdateien für Windows herunter.
-
Sobald der Download abgeschlossen ist, finden Sie das gezippte Archiv in Ihrem Downloads-Ordner oder dort, wo Sie es heruntergeladen haben.
-
Verschieben Sie dieses Archiv als Nächstes an einen praktischen Ort und entpacken Sie es. Sie sollten die Datei helm.exe in den entpackten Inhalten finden:

-
Kopieren Sie den Ordnerpfad und fügen Sie ihn der PATH-Variablen in den Umgebungsvariablen Ihres Systems hinzu.
-
Sobald Sie fertig sind, öffnen Sie das Terminal und geben Sie den folgenden Befehl ein:
|
1 |
helm |
Wenn Sie die folgende Ausgabe sehen, ist die Helm-Installation abgeschlossen. Sie können dann mit den nächsten Schritten fortfahren:

Schritt 2: Repositories einrichten und ein Helm-Chart installieren
Helm unterstützt den Zugriff auf und die Verwaltung von Repositories. In Repositories werden Helm-Charts gespeichert. Zu Beginn hat Helm kein eigenes Repository. Vielmehr ermutigt Helm Manager und DevOps-Spezialisten, eigene Repositories zu erstellen. Das bedeutet, wenn Sie MongoDB auf Ihrem Kubernetes-Cluster haben möchten, müssen Sie es selbst zum Helm-Repository hinzufügen. Um Ihnen bei der Suche nach Repositories zu helfen, können Sie Artifact.io verwenden. Es ist ein Open-Source-Katalog für alle Helm-Charts, verwaltet von der CNCF.
Im Folgenden zeigen wir Ihnen, wie Sie ein Repository einrichten und die Software herunterladen und installieren. Wir nehmen die MongoDB-Installation als Beispiel. Angenommen, Sie möchten MongoDB auf Ihrem Kubernetes-Cluster installieren. Befolgen Sie die folgenden Schritte für die Installation:
-
Gehen Sie zuerst auf https://artifacthub.io.
-
Suchen Sie als Nächstes nach MongoDB. Sobald Sie suchen, werden Sie sehen, dass viele Optionen verfügbar sind. Diejenige, an der wir interessiert sind, ist MongoDB by Bitnami:

-
Wenn die Suche beendet ist, sehen Sie verschiedene Optionen. Neben jedem Chart sehen Sie den Publisher, die Version und andere relevante Informationen. Sobald Sie das gewünschte Chart gefunden haben, müssen Sie es auswählen. Hier klicken wir auf MongoDB by Bitnami:

-
Jetzt kann der technische Teil tatsächlich beginnen. Wenn Sie sich die Gesamtbeschreibung ansehen, werden Sie feststellen, dass eine gute Anleitung für jeden vorhanden ist, der einen der Dienste installieren möchte. Sie können verschiedene Optionen, Konfigurationen, Parameter, das Löschen des Charts und alles andere, worüber Sie Informationen benötigen, überprüfen. Suchen Sie die Schaltfläche Install und klicken Sie darauf:

-
Hier ist alles, was Sie zur Installation von MongoDB benötigen. Zuerst müssen Sie das Repository hinzufügen und dann das Chart installieren. Um das Repository hinzuzufügen, öffnen Sie das Terminal und geben Sie folgenden Befehl ein:
|
1 |
helm repo add bitnami https://charts.bitnami.com/bitnami |
Sie erhalten die folgende Ausgabe:

Nachdem Sie das Repository eingerichtet haben, müssen Sie das Chart installieren. Kopieren Sie den Befehl aus dem Dialogfeld und führen Sie ihn aus:
|
1 |
helm install my-mongodb bitnami/mongodb --version 10.23.10 |
Sobald der Vorgang abgeschlossen ist, ist MongoDB einsatzbereit.
Schritt 3: Releases verwalten
In der Softwareentwicklung ist das Release-Management von entscheidender Bedeutung. Es gibt immer Zeiten, in denen Sie ein Update durchführen oder auf frühere Versionen zurücksetzen müssen. Glücklicherweise ist die Verwaltung von Releases in Helm ein relativ unkomplizierter Prozess. Helm speichert Versionsnummern, sodass Sie jederzeit auf die vorherige Version zurücksetzen können. Angenommen, Ihre Anwendung ist bereitgestellt und live, und Sie müssen Konfigurationen vornehmen – auch das unterstützt Helm. Im Folgenden werden wir einige Best Practices durchgehen, die Ihnen bei der Durchführung dieser Vorgänge helfen.
-
So aktualisieren Sie die Anwendung
Angenommen, in Ihrer values.YAML-Datei geben Sie an, dass zwei Instanzen der Anwendung ausgeführt werden müssen. Dies kann daran liegen, dass Ihre Anwendung hochverfügbar sein muss. Später stellen Sie jedoch fest, dass die Anwendung drei Instanzen benötigt. Ohne Helm müssen Sie die Anwendung zuerst stoppen, dann konfigurieren und neu bereitstellen. Mit Helm können Sie zuerst Änderungen in der values.YAML-Datei vornehmen und dann einfach den folgenden Befehl ausführen. Führen Sie in Ihrem Verzeichnis, in dem sich die Helm-Dateien befinden, den folgenden Befehl aus:
|
1 |
helm upgrade <app-name> |
-
So setzen Sie das Release zurück
Angenommen, Ihr Release schlägt fehl. Vielleicht haben Sie die falschen Portnummern oder Pfade konfiguriert. Um auf eine vorherige Version zurückzusetzen, müssen Sie nur die folgende Version ausführen, und Helm setzt das Release auf die vorherige Version zurück:
|
1 |
C:\> helm rollback <release> |
Helm kümmert sich um alle Releases und die Versionierung. Dies ist einer der größten Vorteile der Verwendung von Helm mit Kubernetes. Um alle Releases einer Anwendung anzuzeigen, führen Sie den folgenden Befehl in dem Verzeichnis aus, das die Helm-Charts und YAML-Dateien enthält:
|
1 |
helm history RELEASE |
Schritt 4: Erstellen Sie Ihr eigenes Chart
Da Sie nun mit Helm vertraut sind und verstehen, wie es funktioniert, ist es an der Zeit, Ihr eigenes Chart zu erstellen. Indem Sie Ihr eigenes benutzerdefiniertes Chart erstellen, können Sie Ihre Anwendung problemlos verteilen und in jedem Repository hosten. Das Erstellen Ihres Charts ist ein recht einfacher Vorgang, wenn Sie die unten beschriebenen Schritte befolgen. Öffnen Sie zuerst das Terminal und führen Sie den folgenden Befehl aus:
|
1 |
helm create <chart-name> |
Dadurch wird das Verzeichnis mit dem von Ihnen angegebenen Namen erstellt. Wir verwenden den Namen my-app. Sehen wir uns den Inhalt des Ordners an:
|
1 2 |
cd my-app ls |
Sie erhalten die folgende Struktur:
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
charts/ templates/ ├─ tests/ │ ├─ test-connection.yaml ├─ deployment.yaml ├─ hpa.yaml ├─ ingress.yaml ├─ NOTES.txt ├─ service.yaml ├─ serviceaccount.yaml ├─ _helpers.tpl ├─ .helmignore ├─ Chart.yaml ├─ values.yaml |
Hier ist eine Zusammenfassung des Inhalts der Ausgabe:
- charts-Ordner – Wird zum Hinzufügen abhängiger Charts verwendet.
- templates-Ordner – Konfiguration, die im Cluster bereitgestellt wird.
- YAML-Datei – Entwurf der Helm-Chart-Struktur.
- YAML-Datei – Formatierungsinformationen zur Konfiguration des Charts.
Befolgen Sie als Nächstes die folgenden Schritte, um Ihr Chart zu installieren und zu konfigurieren:
-
Image und Pull konfigurieren
Öffnen Sie die values.YAML-Datei. Suchen Sie hier den Image-Knoten. Anschließend können Sie ihn nach Ihren Wünschen konfigurieren. Mögliche Werte sind IfNotPresent, Always, Latest. Den vollständigen Satz der Werte finden Sie in der offiziellen Dokumentation.
-
Chart-Namen überschreiben
Dieser Schritt ist optional, Sie können ihn also überspringen, wenn Sie möchten:

-
Service-Name
Öffnen Sie die
values.YAML-Datei und suchen Sie nach
serviceName. Fügen Sie dann den gewünschten Namen hinzu. Es ist ratsam, vor der Installation des Charts einen Namen bereitzuhalten:

-
Installieren Sie das Chart
Führen Sie schließlich den folgenden Befehl aus, um das Chart zu installieren:
|
1 |
helm install <full name override> <chart name>/ --values <chart name>/values.yaml |
Wir empfehlen Ihnen, alle vorhandenen Optionen zur Konfiguration Ihres Charts sorgfältig zu prüfen, bevor Sie es auf dem Cluster bereitstellen.
Warum Entwickler Helm lieben
Helm erfreut sich immer größerer Beliebtheit bei Entwicklern und DevOps-Spezialisten, die Deployments gelegentlich hoch- und herunterfahren müssen. Hier sind einige der Hauptvorteile von Helm:
-
Helm vereinfacht den Deployment-Prozess. Es erfordert kein neues Lernen, vielmehr werden bestehende YAML-Deployments so gestaltet, dass sie vom Benutzer leicht konfiguriert werden können.
-
Anstatt die Konfiguration häufig zu ändern, wie z. B. die Anzahl der Cluster oder Ports, macht Helm dies leicht konfigurierbar. Der Benutzer muss lediglich die Werte in der values.YAML -Datei aktualisieren.
-
Helm ermöglicht es, die Anwendung mit anderen Benutzern zu teilen, indem sie in Repositories verpackt wird.
Fazit
In diesem Tutorial haben wir gelernt, wie man den Helm-Paketmanager von Grund auf unter Windows einrichtet. Wir haben uns verschiedene Schlüsselkonzepte angesehen, die man klar verstehen muss, um die Möglichkeiten von Helm zu nutzen. Wir haben auch verschiedene Funktionen kennengelernt, die in den untersuchten Helm-Repositories verfügbar sind. Sie sollten sich nun mit Helm vertraut fühlen und es in Ihrem nächsten Kubernetes-Projekt/Deployment implementieren.
Um Ihr Wissen über Kubernetes und seine Funktionen weiter zu vertiefen, können Sie sich weitere Tutorials in unserem Blog ansehen:
- Kubernetes kennenlernen
- So erstellen Sie einen Kubernetes-Cluster mit Kubeadm auf Ubuntu 18.04
- Bereitstellen einer PHP-Anwendung auf einem Kubernetes-Cluster mit Ubuntu 18.04
Viel Spaß beim Computing!
Kommentare
Noch keine Kommentare. Schreiben Sie den ersten.