Helm macht Kubernetes benutzerfreundlicher. Es ist ein Paketmanager. Helm -Diagramme erleichtern das Entwerfen, Installieren und Upgrade einer Kubernetes -Anwendung. Sie verwalten die Komplexität, um den Installationsprozess wiederholbar zu machen. Benutzer sind leicht in der Lage, ihre Designs zu aktualisieren und zu teilen. Außerdem hat Helm eine Rollback -Funktion, um einfach zu Bestellversionen zurückzukehren.
Helmdiagrammstruktur
Mit dem Befehl create erstellen Helm eine vorgegebene Struktur, um einen Standard zu gewährleisten.
Hallo WeltDie obigen Dateien werden automatisch generiert. Helm verwendet das YAML -Format für Konfigurationsdateien.
Helm aufrufen
Um Helm zu verwenden, benötigen Sie die folgenden Dinge:
(Stellen Sie sicher, dass die Minikube- und Pinsion -Versionen mit dem Kubernetes -Cluster kompatibel sind.)
Sobald Sie alle Komponenten installiert haben, starten Sie Ihr Minikube:
$ minikube Start
Sie müssen auch den folgenden Befehl verwenden, um Helm und Pinne zu initialisieren:
$ Helm init
Verwenden Sie als Nächstes den folgenden Helm -Befehl, um die oben beschriebene Struktur zu erstellen:
$ helm erstellen Hallo-Welt
Schreiben Sie Ihr erstes Helmdiagramm
Lassen Sie uns den Status der Pods überprüfen:
$ kubectl Get Pod-All-NamesPaces
Namespace Name Ready Status Neustart der Alter
Kube-System Kube-Addon-Manager-Minikube 1/1 Laufen 2 1H
Kube-System Kube-DNS-54CCCFBDF8-XCLTD 3/3 Laufen 6 1H
Kube-System Kubernetes-Dasboard-77d8b98585-SJ9LM 1/1 Laufen 2 1H
Kube-System Storage-Provisioner 1/1 Ausführen 2 1H
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Laufen 2 1H
Die Pinne -Pod und die Minikube -Schoten laufen. Nehmen wir einige Änderungen an Helm -Charts vor. Wir werden den Wert öffnen.YML. Es sieht aus wie das:
# Standardwerte für Hello-World.
# Dies ist eine YAML-formatierte Datei.
# Deklare Variablen, die in Ihre Vorlagen übergeben werden sollen.
Replicacount: 1
Bild:
Repository: Heroku/Nodejs-Hello-Welt
Tag: stabil
Pullpolicy: ifnotpresent
Service:
Typ: Clusterip
Port: 80
Eindringen:
Aktiviert: Falsch
Anmerkungen:
# Kubernetes.IO/Eindringen.Klasse: Nginx
# Kubernetes.io/tls-acme: "wahr"
Weg: /
Gastgeber:
- Chart-Beispiel.lokal
TLS: []
#-SecretName: Chart-Exampe-TLS
# Hosts:
# - Chart -Beispiel.lokal
Ressourcen:
# Wir empfehlen normalerweise, keine Standardressourcen anzugeben und dies als bewusstes zu lassen
# Auswahl für den Benutzer. Dies erhöht auch die Chancen -Chancen, die in Umgebungen mit wenig ausgeführt werden
# Ressourcen wie Minikube. Wenn Sie Ressourcen angeben möchten, wenden Sie sich an folgende
# Leitungen, passen Sie sie nach Bedarf an und entfernen Sie die lockigen Klammern nach 'Ressourcen:'.
# Grenzen:
# CPU: 100 m
# Speicher: 128mi
# Anfragen:
# CPU: 100 m
# Speicher: 128mi
Knotenauswahl:
Tolerationen: []
Affinität:
Die hervorgehobene Linie wurde geändert. Anstelle von Nginx werden wir Heroku/Nodejs-Hello-World herunterladen. Sie können die Standardwerte in diesem Wert festlegen.YML -Datei. Sie werden an andere Dateien geteilt.
Wenn wir Helm überprüfen, sehen wir nichts:
$ helm ls
Beginnen wir das Helm -Diagramm:
$ helm Installieren Sie Hallo-Welt
Name: Kussmarhor
Zuletzt eingesetzt: Fr 9. März 09:13:04 2018
Namespace: Standard
Status: bereitgestellt
RESSOURCEN:
==> v1/Service
Namenstyp Cluster-IP-EXTERNAL-IP-PORT (n) Alter
Kuss-Markhor-Hello-World Clusterip 10.110.109.7380/TCP 1s
==> v1beta2/Bereitstellung
Name der gewünschten aktuellen aktuellen verfügbaren Altersalter
Küssen-Markhor-Hello-Welt 1 1 1 0 1s
==> v1/pod (verwandt)
Name Ready Status neu startet das Alter neu
Kussmarkhor-Hello-Welt-6bb947b9c-rttnz 0/1 ContainerCreating 0 1s
ANMERKUNGEN:
ANMERKUNGEN:
1. Holen Sie sich die Anwendungs -URL, indem Sie diese Befehle ausführen:
exportpod_name = $ (kubectl Get Pods -NamePace Standard -l "app = hello -world, release = kissing
-markhor "-o jsonpath =" .Elemente [0].Metadaten.Name")
Echo "Besuchen Sie http: // 127.0.0.1: 8080, um Ihre Anwendung zu verwenden "
Kubectl Port-Forward $ pod_name 8080: 80
Der spürbare Teil ist der „Name“. Dieser Name wurde von Helm generiert.
Lassen Sie uns Helm überprüfen:
$ helm ls
Name Revision Aktualisierte Statusdiagramm -Namespace
Kussmarhor 1 Fr 9. März 09:13:04 2018 Eingesetzt Hello-World-0.1.0 Standard
Auch Kubernetes:
$ kubectl Get Pod-All-NamesPaces
Namespace Name Ready Status Neustart der Alter
Standardküsse-Markhor-Hello-World-6BBB947B9C-RTTNZ 1/1 Laufen 0 5m
Kube-System Kube-Addon-Manager-Minikube 1/1 Laufen 2 2H
Kube-System Kube-DNS-54CCCFBDF8-XCLTD 3/3 Laufen 6 2H
Kube-System Kubernetes-Dasboard-77D8B98585-SJ9LM 1/1 Laufen 2 2H
Kube-System Storage-Provisioner 1/1 Ausführen 2 2H
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Laufen 2 2H
So wurde der Pod in Kubernetes bereitgestellt. Wir können die Portweiterleitung verwenden:
$ kubectl port-Forward Kissing-Markhor-Hello-Welt-6bb947b9c-rttnz 8080: 80
Jetzt sollten Sie in der Lage sein, Ihre bereitgestellte Anwendung zu überprüfen.
$ curl http: // 127.0.0.1: 8080Wenn Sie diese Seite sehen, wird der Nginx -Webserver erfolgreich installiert und
Arbeiten. Weitere Konfiguration ist erforderlich.
Für Online -Dokumentation und -unterstützung finden Sie bitte
nginx.Org.
Kommerzielle Unterstützung ist bei erhältlich
nginx.com.
Vielen Dank, dass Sie Nginx verwendet haben.
Alternativ können Sie http: // 127 überprüfen.0.0.1: 8080, um die neu erstellte Anwendung anzuzeigen. Lassen Sie uns aufräumen. Finden Sie den Servernamen:
$ helm ls
Name Revision Aktualisierte Statusdiagramm -Namespace
Kussmarhor 1 Fr 9. März 09:13:04 2018 Eingesetzt Hello-World-0.1.0 Standard
Verwenden Sie den folgenden Befehl, um zu löschen:
$ helm küssmarkhor löschen
Veröffentlichen Sie "Kissing-Markhor" gelöscht
Lassen Sie uns den Cluster überprüfen:
$ kubectget pod-alle namespaces
Namespace Name Ready Status Neustart der Alter
Kube-System Kube-Addon-Manager-Minikube 1/1 Laufen 2 2H
Kube-System Kube-DNS-54CCCFBDF8-XCLTD 3/3 Laufen 6 2H
Kube-System Kubernetes-Dasboard-77D8B98585-SJ9LM 1/1 Laufen 2 2H
Kube-System Storage-Provisioner 1/1 Ausführen 2 2H
Kube-System Tiller-Deploy-59D854595C-97HDP 1/1 Laufen 2 2H
Wir können sehen.
Abschluss
Das obige sollte Ihnen die Inspiration geben, Helm -Diagramme zu verwenden. Dies sollte Ihre Kubernetes -Bereitstellungen erleichtern.