(VERALTET) Verwenden von Helm zum Bereitstellen von Containern in einem Kubernetes-Cluster

Tipp

Die aktualisierte Version dieses Artikels, wo die Verwendung von Azure Kubernetes Service berücksichtigt wird, finden Sie unter Installieren von Anwendungen mit Helm in Azure Kubernetes Service (AKS).

Warnung

Azure Container Service (ACS) wird ausgemustert. Für ACS werden keine neuen Features oder Funktionen mehr hinzugefügt. Sämtliche APIs, Portalfunktionen, CLI-Befehle und Dokumentationen werden als veraltet gekennzeichnet.

2017 wurde Azure Kubernetes Service (AKS) eingeführt, um die Verwaltung, die Bereitstellung und den Betrieb von Kubernetes zu vereinfachen. Falls Sie den Kubernetes-Orchestrator verwenden, migrieren Sie bitte bis spätestens 31. Januar 2020 zu Azure Kubernetes Service. Informationen zu den ersten Schritten finden Sie unter Migration von Azure Container Service (ACS) zu Azure Kubernetes Service (AKS).

Weitere Informationen finden Sie unter Einstellung von Azure Container Service am 31. Januar 2020.

Helm ist ein Open Source-Verpackungstool, das Ihnen dabei hilft, Kubernetes-Anwendungen zu installieren und ihren Lebenszyklus zu verwalten. Ähnlich wie Linux-Paket-Manager (z.B. Apt-get und Yum) wird Helm zur Verwaltung von Kubernetes-Diagrammen verwendet, bei denen es sich um Pakete aus vorkonfigurierten Kubernetes-Ressourcen handelt. Dieser Artikel veranschaulicht die Verwendung von Helm für einen Kubernetes-Cluster, der in Azure Container Service bereitgestellt wird.

Helm besteht aus zwei Komponenten:

  • Die Helm-CLI ist ein Client, der auf dem Computer lokal oder in der Cloud ausgeführt wird.

  • iller ist ein Server, der im Kubernetes-Cluster ausgeführt wird und den Lebenszyklus der Kubernetes-Anwendungen verwaltet.

Voraussetzungen

Grundlagen von Helm

Um Informationen über den Kubernetes-Cluster anzuzeigen, in dem Sie Tiller installieren und die Anwendungen bereitstellen, geben Sie den folgenden Befehl ein:

kubectl cluster-info 

kubectl cluster-info

Installieren Sie nach der Installation von Helm Tiller im Kubernetes-Cluster, indem Sie den folgenden Befehl eingeben:

helm init --upgrade

Wenn der Vorgang erfolgreich abgeschlossen wurde, erhalten Sie eine Ausgabe wie die folgende:

Tiller-Installation

Um alle im Repository verfügbaren Helm-Diagramme anzuzeigen, geben Sie den folgenden Befehl ein:

helm search 

Ihnen sollte eine Ausgabe wie die folgende angezeigt werden:

Helm-Suche

Um die Diagramme auf die neuesten Versionen zu aktualisieren, geben Sie Folgendes ein:

helm repo update 

Bereitstellen eines Nginx-Eingangscontroller-Diagramms

Geben Sie zum Bereitstellen eines Nginx-Eingangscontroller-Diagramms einen einzelnen Befehl ein:

helm install stable/nginx-ingress 

Eingangscontroller bereitstellen

Wenn Sie kubectl get svc eingeben, um alle im Cluster ausgeführten Dienste anzuzeigen, sehen Sie, dass dem Eingangscontroller eine IP-Adresse zugewiesen wurde. (Während die Zuordnung in Bearbeitung ist, sehen <pending>Sie . Es dauert ein paar Minuten bis zum Abschließen.)

Nachdem die IP-Adresse zugewiesen wurde, navigieren Sie zum Wert der externen IP-Adresse, um die Ausführung des Nginx-Back-Ends anzuzeigen.

Eingangs-IP-Adresse

Um eine Liste der im Cluster installierten Diagramme anzuzeigen, geben Sie Folgendes ein:

helm list 

Sie können den Befehl wie folgt abkürzen: helm ls.

Bereitstellen eines MariaDB-Diagramms und eines Clients

Stellen Sie nun ein MariaDB-Diagramm und einen MariaDB-Client bereit, um eine Verbindung mit der Datenbank herzustellen.

Geben Sie zum Bereitstellen des MariaDB-Diagramms den folgenden Befehl ein:

helm install --name v1 stable/mariadb

wobei --name ein für Releases verwendetes Tag ist.

Tipp

Sollte die Bereitstellung fehlschlagen, führen Sie helm repo update aus, und versuchen Sie es erneut.

Um alle im Cluster bereitgestellten Diagramme anzuzeigen, geben Sie Folgendes ein:

helm list

Um alle im Cluster ausgeführten Bereitstellungen anzuzeigen, geben Sie Folgendes ein:

kubectl get deployments 

Geben Sie schließlich Folgendes ein, um ein Pod für den Zugriff auf den Client auszuführen:

kubectl run v1-mariadb-client --rm --tty -i --image bitnami/mariadb --command -- bash  

Um eine Verbindung mit dem Client herzustellen, geben Sie den folgenden Befehl ein, und ersetzen Sie dabei v1-mariadb durch den Namen Ihrer Bereitstellung:

sudo mysql –h v1-mariadb

Sie können jetzt standard SQL-Befehle verwenden, um Datenbanken, Tabellen usw. zu erstellen. Erstellt beispielsweise Create DATABASE testdb1; eine leere Datenbank.

Nächste Schritte

  • Weitere Informationen zum Verwalten von Kubernetes-Diagrammen finden Sie in der Helm-Dokumentation.