GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So stellen Sie Anwendungen auf Kubernetes mit Helm bereit

Dieser Artikel ist die Fortsetzung meines Artikels "Was ist Helm und wie installiere ich es auf einem Ubuntu 20.04-Server?". Wenn Sie neu bei Helm sind, würde ich Ihnen empfehlen, zuerst den von mir erwähnten Artikel durchzugehen. In diesem Artikel werden wir Apache aus dem bestehenden Chart herauslösen. Wir werden ein Beispieldiagramm erstellen und es freigeben, aktualisieren, zurücksetzen, löschen und wiederherstellen. Sehen wir uns die Befehle kurz an, bevor wir sie später im Artikel verwenden.

  1. Rudersuche :Suche nach Helm-Charts
  2. helm-Repo :Vorgänge wie Hinzufügen, Auflisten, Entfernen, Aktualisieren und Indexieren für das Repository ausführen
  3. helm löschen :Löschen Sie das Diagramm, wodurch wiederum alle seine Kubernetes-Objekte gelöscht werden.
  4. Steuerstatus :Status der Freigabe anzeigen.
  5. Helm erstellen :Steuerdiagramm erstellen.
  6. helm installieren :Installieren Sie ein Diagramm, das wiederum seine Kubernetes-Objekte erstellt
  7. Steuerrad-Upgrade :Aktualisieren Sie eine Version mit Änderungen, die wir daran vorgenommen haben.
  8. Steuergeschichte :Holen Sie sich den Verlauf der Veröffentlichung.
  9. Ruderrücksetzung :Änderungen an der vorherigen Version rückgängig machen.

Bevor Sie fortfahren, wird davon ausgegangen, dass Sie mit den Grundlagen von Helm vertraut sind. Es wird auch davon ausgegangen, dass Sie bereits einen Kubernetes-Cluster und einen Helm-Client darin installiert haben.

Voraussetzungen

  1. Kubernetes-Cluster mit mindestens einem Worker-Knoten.
    Wenn Sie erfahren möchten, wie Sie einen Kubernetes-Cluster erstellen, klicken Sie hier. Dieser Leitfaden hilft Ihnen beim Erstellen eines Kubernetes-Clusters mit 1 Master und 2 Knoten auf AWS Ubuntu 18.04 EC2-Instances.
  2. Helm auf Ihrem Master-Knoten installiert (Suchen Sie nach meinem Artikel „Was ist Helm und wie installiere ich es auf einem Ubuntu 20.04-Server“, um die Grundlagen von Helm zu verstehen und es zu installieren).

Was werden wir tun?

  1. Veröffentlichen Sie ein Beispieldiagramm aus dem Repository.
  2. Erstellen Sie ein Diagramm und veröffentlichen Sie eine Beispielanwendung.
  3. Aktualisieren Sie die Version.
  4. Release nach dem Löschen wiederherstellen

Veröffentlichen Sie ein Beispieldiagramm aus dem Repository

Lassen Sie uns zuerst prüfen, ob "helm" auf dem Server verfügbar ist oder nicht.

Helm-Version

Als Beispiel wollen wir versuchen, ein Apache-Diagramm vom Hub zu installieren. Führen Sie den folgenden Befehl aus, um Apache auf dem Hub zu durchsuchen.

helm search hub apache

Sie erhalten eine Reihe von Ergebnissen, kopieren Sie die URL einer der Suchen nach Apache. In diesem Fall habe ich die erste URL kopiert.

Klicken Sie auf die URL im Webbrowser und Sie werden eine Seite wie folgt sehen.

Auf dieser Seite erhalten Sie Befehle zum Hinzufügen eines Repos zu Ihrem lokalen System und zum Installieren des Diagramms daraus.

Führen Sie die Befehle auf Ihrem lokalen System aus, wodurch das Repository für das Apache-Diagramm hinzugefügt wird.

helm repo fügt bitnami hinzu https://charts.bitnami.com/bitnami

Helm-Repo-Liste

Sobald Sie das Repository auf Ihrem System haben, können Sie das Diagramm installieren und mit Helm eine Version für Apache erstellen.

helm install my-release bitnami/apache

Nach erfolgreicher Ausführung der Befehle sehen Sie die Ausgabe wie oben.

Sobald das Diagramm veröffentlicht wurde, können Sie Objekte sehen, die im Kubernetes-Cluster erstellt wurden.

kubectl erhält Knoten

kubectl erhält Pods

Sie können jetzt die IP-Adresse des Pods abrufen und versuchen, mit dem Curl-Befehl auf die Apache-Seite zuzugreifen.

kubectl get pods -o wide

kubectl erhält svc

curl 10.244.1.2:8080

Wenn Sie die Freigabe löschen möchten, können Sie dies einfach mit dem folgenden Befehl tun

helm lösche meine-freigabe

Sie können Veröffentlichungen im Cluster auflisten und sehen, ob die Veröffentlichung erfolgreich gelöscht wurde oder nicht.

helm ls

helm status my-release

Erstellen Sie ein Diagramm und stellen Sie eine Beispielanwendung bereit

Im obigen Szenario haben wir ein Diagramm installiert, das leicht verfügbar und konfiguriert war. Wir können unser eigenes Diagramm erstellen und unsere Anwendung freigeben. Das Erstellen eines Diagramms ist mit helm sehr einfach. Wenn Sie den folgenden Befehl ausführen, erhalten Sie ein Diagramm mit einer Beispielanwendung von Nginx darin.

helm mein-erstes-diagramm erstellen

Untersuchen Sie die Ordnerstruktur des Diagramms, das wir mit dem obigen Befehl erstellt haben.

cd meine-erste-tabelle/

ls -l

ls -l Diagramme/

ls -l Vorlagen/

ls -l Vorlagen/Tests/

Prüfen Sie den Inhalt der Chart.yaml-Datei.

ls -lt

cat Chart.yaml

Prüfen Sie den Inhalt von values.yaml

ls -lt

cat-Werte.yaml

Lassen Sie uns nun die Beispielanwendung mithilfe des lokalen Diagramms bereitstellen.

pwd

CD ..

ls -l | grep mein-erstes-diagramm

kubectl erhält Pods

helm installiere meine-erste-freigabe meine-erste-karte/

Sobald das Diagramm erfolgreich veröffentlicht wurde, können Sie einen im Cluster erstellten Pod sehen.

kubectl erhält Pods

kubectl erhält svc

Sie können jetzt über den Dienst auf den Nginx-Pod zugreifen.

curl 10.104.229.187

Informationen zu der von uns erstellten Version finden Sie mit dem folgenden Befehl.

helm ls

helm status meine-erste-veröffentlichung

Aktualisieren Sie die Version

Im obigen Szenario haben wir ein Diagramm mit einer Nginx-Beispielanwendung erstellt. Die Anzahl der Replikate im obigen Szenario war 1. Wenn Sie die Anzahl der Replikate erhöhen möchten, können Sie dies ganz einfach tun, indem Sie Änderungen in der Datei "values.yaml" vornehmen.

cat meine-erste-tabelle/werte.yaml | grep replik

vim my-first-chart/values.yaml

cat meine-erste-tabelle/werte.yaml | grep replik

helm ls

Jetzt können Sie Ihre Änderungen ganz einfach einführen und Ihre Version aktualisieren.

helm upgrade my-first-release my-first-chart/

Sie können sogar die auf 2. aktualisierte Version der Version sehen.

helm ls

Dieses Mal können Sie zwei Pods sehen, die im Cluster ausgeführt werden, da wir die Anzahl der Replikate auf 2 festgelegt hatten.

kubectl erhält Pods

helm ls

Wenn wir den Verlauf der Veröffentlichung überprüfen, werden wir feststellen, dass die Veröffentlichung zwei Revisionen hat. Überarbeitung 1 hatte 1 Pod und später haben wir die Replikationsanzahl auf 2 aktualisiert, wodurch Überarbeitung 2 der Version erstellt wurde.

helm history my-first-release

Wenn wir nicht möchten, dass die Änderungen in Überarbeitung 2 veröffentlicht werden, und zu Überarbeitung 1 zurückkehren möchten, können wir dies einfach mit dem folgenden Rollback-Befehl tun.

helm rollback my-first-release 1

helm ls

Und dies wird Revision 3 für die Veröffentlichung erstellen.

helm history my-first-release

Sie können jetzt sehen, dass im Cluster nur ein Pod ausgeführt wird.

kubectl erhält Pods

Falls Sie die freigegebene Nginx-Beispielanwendung aus dem Diagramm löschen möchten, können Sie sie löschen, indem Sie die Freigabe löschen.

helm ls

helm delete my-first-release

helm ls

Stellen Sie die Version wieder her, nachdem sie gelöscht wurde

Im obigen Szenario haben wir die Version gelöscht. Aber standardmäßig behält die Version ihren Versionsverlauf nicht bei, wenn sie gelöscht wird. Falls Sie in einem solchen Szenario wiederherstellen möchten, können Sie dies nur tun, wenn Sie die Option --keep-history für den Befehl zum Löschen der Freigabe angeben.

helm ls

helm installiere meine-zweite-freigabe meine-erste-karte/

helm ls

Wenn Sie beim Löschen der Version die Option --keep-history angeben, erstellt der Helm eine neue Version. Auf diese Weise können Sie auch nach dem Löschen des Releases oder der Anwendung zur vorherigen funktionierenden Version zurückkehren.

helm delete my-second-release --keep-history

helm ls

helm ls -a

helm history my-second-release

helm rollback my-second-release 1

helm ls

helm history my-second-release

Schlussfolgerung

In diesem Artikel haben wir eine Beispielanwendung aus dem im Internet verfügbaren Helm-Chart bereitgestellt. Wir haben sogar die Schritte gesehen, um ein Helm-Diagramm auf unserem System zu erstellen und freizugeben. Außerdem haben wir gesehen, wie man Helm-Diagramme löscht, zu früheren Versionen zurückkehrt und den Veröffentlichungsverlauf auch nach dem Löschen des Chats beibehält.


Ubuntu
  1. So erstellen Sie ein Helm-Diagramm

  2. Installieren Sie Elasticsearch auf Kubernetes mit Helm Chart

  3. So stellen Sie Elasticsearch auf Kubernetes bereit

  4. So stellen Sie eine WordPress-Instanz auf Kubernetes bereit

  5. So stellen Sie Nginx Load Balancing auf einem Kubernetes-Cluster unter Ubuntu 18.04 LTS bereit

Was ist Ingress Controller und wie stellt man Nginx Ingress Controller in Kubernetes Cluster on AWS mit Helm bereit

So installieren Sie Kubernetes unter Ubuntu 20.04

So installieren Sie Kubernetes mit Minikube in CentOS Linux

So stellen Sie Mattermost auf Ubuntu 20.04 bereit

So stellen Sie Single Node Kubernetes mit Microk8s auf Ubuntu 20.04 bereit

So überwachen Sie Node.js-Anwendungen mit dem PM2-Web-Dashboard