Rolling -Bereitstellung in Kubernetes

Rolling -Bereitstellung in Kubernetes

In diesem Beitrag werden wir die Bereitstellungsoptionen für die Verwendung des Kubernetes-Container-Orchestration-Systems zur Bereitstellung von Containern untersuchen, um Container bereitzustellen. Wir werden gelernt haben, wie man im Kubernetes -Cluster auf verschiedene Weise bereitgestellt wird, bis zum Ende dieses Artikels. Wenn Sie wirklich mehr über dieses Thema erfahren möchten, lesen Sie den Artikel weiter. Der Code kann in den folgenden Abschnitten gefunden werden.

Was sind Bereitstellungen in Kubernetes??

Kubernetes -Bereitstellungen sind nur Replikationen, die in einen Kubernetes -Wrapper eingewickelt sind. Die Bereitstellung überwacht die Anzahl der Betriebsschoten, während der Replikaset die Anzahl der laufenden Pods verwaltet. Dies ermöglicht Roll -Updates, POD -Gesundheitsüberprüfungen und ein einfaches Rollback von Updates.

Die Bereitstellung wird während des normalen Betriebs nur einen einzelnen Replikatset enthalten, um sicherzustellen, dass die Anzahl der erforderlichen Pods betrieben wird.

Sie sollten den Replikatset, den die Bereitstellung bei der Verwendung von Bereitstellungen direkt erstellt, nicht verwalten. Alle Operationen, die auf einem Replikat durchgeführt werden.

Die Möglichkeit, Rolling -Updates auszuführen, ist einer der wichtigsten Vorteile der Bereitstellung. Bereitstellungen bieten Ihnen eine große Flexibilität gegenüber Rolling -Updates, sodass Sie die Konfiguration Ihrer Pods schrittweise aktualisieren können.

Was sind die typischen Anwendungsfälle für die Bereitstellung??

Bereitstellungen werden in den folgenden Szenarien häufig verwendet:

  • Erstellen Sie eine Bereitstellung, um einen Replikat auszulösen, um eine Bereitstellung zu erstellen. Im Hintergrund baut der Replicaset Pods auf. Überprüfen Sie den Fortschritt des Einsatzes, um zu überprüfen, ob er erfolgreich war.
  • Aktualisieren Sie die PodtemplateSpec der Bereitstellung, um den geänderten Zustand der Pods widerzuspiegeln. Der Einsatz ist für die Verwaltung der kontrollierten Übertragung von Schoten vom alten zum neuen Replikat und der Bildung eines neuen zuständig. Mit jedem neuen Replikat wird die Überarbeitung des Bereitstellungen aktualisiert.
  • Erhöhen Sie die Kapazität des Einsatzes, um mehr Verkehr zu bewältigen.
  • Machen Sie die Rollout eines Bereitstellungen an, um verschiedene Änderungen an seinem PodtemplatesSpec vorzunehmen, und nehmen Sie ihn dann wieder auf, um einen neuen Rollout zu beginnen.
  • Der Bereitstellungsstatus kann verwendet werden, um festzustellen, ob ein Rollout erfolgreich war oder nicht.
  • Entfernen Sie frühere Replikationen, die Sie nicht mehr benötigen.

Voraussetzungen:

Zuerst müssen Sie den Minikube -Cluster installieren und Ubuntu 20 beginnen.04. Öffnen Sie nun ein Terminal, um die Befehle auszuführen. Zu diesem Zweck drücken Sie die Verknüpfung „Strg+Alt+T“ auf der Tastatur.

Sie können auch den Befehl „Minikube starten“ in das Terminal schreiben. Warten Sie eine Weile, bis es beginnt. Das Folgende ist das Ergebnis dieser Anweisung:

$ minikube Start

So erstellen Sie eine Bereitstellung?

In Kubernetes werden Bereitstellungen gebildet, indem ihre Anforderungen in einer YAML -Definitionsdatei angegeben werden. Verwenden wir das Beispiel einer Bereitstellung namens Deploy.YAML mit den folgenden Parametern, um zu sehen, wie eine Rolling -Update -Bereitstellung konfiguriert ist:

$ nano bereit.Yaml


Die gesamte Konfigurationsdatei kann hier gefunden werden. Um drei Pods zu erzählen, erstellt der folgende Code einen Replikat. In dem Beispiel die.Metadaten.Die Spalte Name zeigt an, dass eine Bereitstellung mit dem Namen Nginx-Ablagerung erstellt wurde. Der Einsatz erzeugt drei replizierte Pods nach dem.Spezifikation.Replikatattribut.

Die Einsatz.Spezifikation.Das Selektorfeld gibt an, wie es bestimmt, welche Pods verwaltet werden sollen. In diesem Fall verwenden Sie die POD -Vorlage, um eine Beschriftung auszuwählen (App: Nginx). Kompliziertere Auswahlregeln sind möglich, wenn die POD -Vorlage den Kriterien entspricht.


Führen Sie den angegebenen Befehl nach dem Konfigurieren der Bereitstellung YAML aus, um die Bereitstellung zu erstellen:

$ kubectl create -f -Bereitstellung.Yaml

Verwenden Sie den Befehl kubectl GET -Bereitstellungen, um festzustellen, ob die Bereitstellung erstellt wurde, wie unten gezeigt.

$ kubectl erhalten Bereitstellungen


Wenn es laufende Bereitstellungen gibt, können Sie den Rollout -Status überwachen, indem Sie diesen Befehl schreiben.


Führen Sie nach einigen Sekunden Kubectl aus, um die Bereitstellungen erneut zu erhalten, um die Details anzuzeigen.

$ kubectl erhalten Bereitstellungen


Verwenden Sie den Befehl kubectl Get RS, um die durch die Bereitstellung erstellte Replicaset (RS) zu inspizieren,. Hier ist das Ergebnis.

$ kubectl bekommen Rs

Führen Sie Kubectl Get Pods -how -Label, um die automatisch hergestellten Etiketten für jede Pod anzuzeigen. Die Ausgabe könnte so aussehen:

$ kubectl Get Pods --how-Labels

So aktualisieren Sie eine Bereitstellung?

Befolgen Sie die unten aufgeführten Schritte, um Ihre Bereitstellung zu aktualisieren, um Ihre Bereitstellung zu aktualisieren:

Ändern wir die Nginx -Pods, um die folgende Version von Nginx zu verwenden: anstatt die Nginx: 1 zu verwenden.14.2 Bild, verwenden Sie die 1.16.1 Bild.


Führen Sie den angegebenen Befehl aus und sehen Sie sich den Rollout -Status an.


Verwenden Sie nach Abschluss des Rollouts Kubectl, um Bereitstellungen zu erhalten, um die Bereitstellung anzuzeigen. Das Folgende ist die Ausgabe:

$ kubectl erhalten Bereitstellungen


Um Details zu Ihrer Bereitstellung abzurufen, führen Sie den folgenden Befehl aus:

$ kubectl beschreiben Bereitstellungen


Angenommen, Sie haben einen Fehler gemacht, wenn Sie die Bereitstellung ändern und Nginx eingeben: 1.161 statt nginx: 1.16.1 Im Bildnamen:

Der Rollout wird ins Stocken geraten. Sie können die Leistung des Rollouts hier überprüfen:


Verwenden Sie Strg-C, um die oben genannte Bereitstellungsstatus-Uhr zu stoppen, um Strg-C zu verwenden.

Was sind die Vorteile von Rolling -Updates??

Rolling -Updates ermöglichen eine progressive Integration von Änderungen und bieten Ihnen mehr Flexibilität und Kontrolle über die Lebensdauer Ihrer Anwendung. Im Folgenden sind einige der Vorteile der Verwendung von Rolling -Updates für Kubernetes -Cluster aufgeführt:

  • Es gibt keine Ausfallzeiten, da die POD -Instanzen der Anwendung immer ausgeführt werden, selbst während eines Upgrades.
  • Ermöglicht es Entwicklern, die Auswirkungen von Änderungen in einer Produktionsumgebung zu testen, ohne die Benutzererfahrung zu stören.
  • Es handelt sich um eine kostengünstige Bereitstellungstechnik, da keine zusätzlichen Ressourcen erforderlich sind, die dem Cluster zugeordnet sind.
  • Komplexe Upgrades können effektiv durchgeführt werden, indem einfache Änderungen an einer Bereitstellungsdatei vorgenommen werden, wodurch die Notwendigkeit einer zeitaufwändigen manuellen Migration von Konfigurationsdateien beseitigt wird.

Abschluss:

Dieser Beitrag behandelte die Grundlagen von Bereitstellungen, der Funktionsweise von Rolling-Updates und einer Vielzahl von Konfigurationsauswahl für Feinabstimmungsaktualisierungen und POD-Planung. Sie sollten jetzt in der Lage sein, Bereitstellungen mit Vertrauen zu erstellen und zu ändern, um den richtigen Zustand für Ihre Anwendung zu erreichen.