Hallo zusammen.
Und willkommen zurück.
Im heutigen Video werden wir über ein sehr interessantes Thema sprechen, nämlich die Container-Orchestrierung.
Bei der Container-Orchestrierung geht es um die Verwaltung des Lebenszyklus von Containern, insbesondere
in großen und dynamischen Umgebungen.
Dies lässt sich anhand der kleinen Demo hier besser erklären, bei der Sie drei virtuelle Maschinensoldaten haben.
Sie haben also eine virtuelle Maschine, eine virtuelle Maschine zwei, eine virtuelle Maschine drei, und Sie haben einen
Webserver-Container, Sie haben einen App-Server-Container in der virtuellen Maschine eins, und dasselbe mit der virtuellen Maschine
zwei.
Sie haben einen Webserver-Container und den App-Server-Container.
Wenn Sie eine sehr kleine Umgebung wie diese haben, können Sie den Container auch manuell starten.
Aber es gibt noch viele andere Aspekte als die Inbetriebnahme des Containers.
Eine davon ist die Überwachung.
Nehmen wir also an, dass dieser spezielle Webserver-Container ausgefallen ist. Damit Ihre Produktionsumgebung
perfekt funktioniert, müssen Sie mindestens zwei Webserver-Container haben, um immer einsatzbereit zu sein.
Nach der Installation ist der Webserver-Container ausgefallen.
Es stellt sich also die Frage, wer diesen speziellen Webserver-Container überwachen wird.
Und dieses Überwachungsskript sollte auch über einen ereignisgesteuerten Mechanismus verfügen, so dass es bei einem
Ausfall des Webserver-Containers den Container neu startet oder aus irgendeinem Grund, z. B. wenn der Container nicht neu startet,
sollte das Skript automatisch einen neuen Webserver-Container in der virtuellen Maschine starten.
Drittens.
Dies ist also ein einfaches Beispiel, das mit Hilfe der Container-Orchestrierung erreicht werden kann.
Mit der Container-Orchestrierung lassen sich nun viele Aufgaben erledigen.
Einige von ihnen umfassen die Bereitstellung und den Einsatz von Containern auf virtuellen Maschinen.
Nehmen wir also an, Sie haben 100 virtuelle Maschinen und möchten Container auf diesen Maschinen einsetzen.
Es ist also sehr schwierig für Sie, dies manuell zu tun.
Das Container-Orchestrierungs-Tool kann dies problemlos leisten.
Der zweite Schritt ist die Vergrößerung oder Entfernung von Containern, um die Anwendungslast gleichmäßig zu verteilen.
Dann können Sie die Container von einem Host auf einen anderen verlagern, wenn es einen Mangel an Ressourcen gibt.
Nehmen wir also an, ein Balken hat zwei Behälter.
Allerdings hat die VM eine sehr kurze Ressource.
Es gibt nur etwa 50 GB RAM, die verfügbar sind.
Das Container-Orchestrierungstool kann also den Container von dieser VM in eine VM verschieben, die viel
leerer ist und über viel bessere Ressourcen verfügt, die verfügbar sind.
Dies kann mit Hilfe eines Container-Orchestrierungstools erfolgen.
Die Container-Orchestrierung kann auch für den Lastausgleich und die Erkennung von Diensten zwischen Containern
sorgen.
Es kann auch den Zustand von Containern und des Hosts überwachen.
Bei der Orchestrierung von Containern kann es zu einer Vielzahl von Fehlkonfigurationen
kommen.
Nehmen wir also an, Sie haben in der Container-Orchestrierung eine Anforderung definiert, die
besagt, dass mindestens zwei Webserver-Container ständig laufen müssen.
Eine Container-Orchestrierung kann nun die beiden Webserver-Container in derselben
VM starten.
Obwohl drei VMs zur Verfügung stehen, wird der Webserver-Container nur in einer VM gestartet.
Und wenn sich beide in derselben VM befinden, kommt es zu Ressourcenproblemen,
wenn der Produktionsverkehr zunimmt.
Zweitens ist dies nicht hoch verfügbar.
Wenn diese VM selbst ausfällt, dann fallen beide Container aus.
Wenn das Container-Orchestrierungstool definiert, dass zwei Webserver
ständig laufen sollen, sollte es so intelligent sein, den Webserver-Container
auf die virtuelle Maschine aufzuteilen, dass die Last ausgeglichen
wird und die Hochverfügbarkeit gewährleistet werden kann.
Ich möchte Ihnen kurz ein Beispiel für ein Container-Orchestrierungstool namens X geben.
X ist also der Orchestrierungsdienst speziell für uns.
Jetzt verfügt es über eine Funktion zur Aufgabenplatzierung.
Die Aufgabenplatzierung bewirkt Folgendes.
Sie können verschiedene Einschränkungen wie Verfügbarkeitszonen oder Instanztypen verwenden, um die Container auf virtuelle Maschinen aufzuteilen.
Wenn Sie also mit uns vertraut sind, nehmen wir an, Sie haben eine virtuelle Maschine eins und eine virtuelle Maschine
zwei, und beide befinden sich in der gleichen Verfügbarkeitszone.
Wenn Sie in einem solchen Fall Webserver-Container eins in VM eins und Webserver-Container zwei in VM zwei
haben, ist das zwar gut für den Lastausgleich, aber für die Fehlertoleranz ist es nicht
gut, weil beide VMs in derselben Verfügbarkeitszone liegen.
Man braucht also auch eine Art von Intelligenz, damit ein Webserver-Container auf die Instanzen in
einer anderen Verfügbarkeitszone aufgeteilt werden kann.
Wenn also ein einzelnes Netz ausfällt, sollte dies keine Auswirkungen auf Ihre Anwendung haben.
Auch das ist eine großartige Fähigkeit des ICS.
Um auf die verfügbaren Container-Orchestrierungslösungen zurückzukommen: Es gibt viele Container-Orchestrierungslösungen,
die auf dem Markt erhältlich sind.
Einige davon sind Docker Swarm und Kubernetes, die in der Branche sehr
beliebt sind.
Sie haben Apache-Mixer.
Sie haben auch den elastischen Containerdienst, der ein Plus X ist.
Daneben gibt es auch verschiedene Container-Orchestrierungsplattformen wie ICS.
Im Grunde genommen ist Kubernetes also ziemlich kompliziert, wenn Sie vielleicht damit gearbeitet haben.
Und die Handhabung von Kubernetes in einem Team von, sagen wir, zwei oder drei DevOps kann eine kleine Herausforderung sein, insbesondere wenn
Ihre Umgebung groß ist.
Es gibt also bestimmte Plattformen wie X, die eine Art verwaltetes Kubernetes sind.
Es kümmert sich also um die Verwaltung von Kubernetes und Sie kümmern sich um den Rest.
So etwas Ähnliches gibt es also auch.
Bevor wir dieses Video abschließen, sollten wir also noch etwas tun.
Lassen Sie mich Ihnen eine kurze Demo zur Container-Orchestrierung zeigen, und wir nehmen das Beispiel von Docker
Swamp, um zu verstehen, wie genau die Container-Orchestrierungslösungen helfen.
Jetzt bin ich in meiner Klasse, und wenn ich einen Docker-Dienst LS ausführe, werden Sie sehen, dass ich einen Dienst
namens Hello World habe, der das Engine X-Image verwendet und eine Replik von one out of one hat.
Hier wird also derzeit der Modus repliziert.
Wenn ich nun einen Dockerdienst, PS Helloworld, aufrufe, zeigt sich im Grunde, dass dieser
spezielle Container in einem Knoten oder in einer virtuellen Maschine namens Swarm Zero Two gestartet
wurde.
Aber aus irgendeinem Grund reagiert diese virtuelle Maschine nicht mehr.
Und dann hat das Orchestrierungswerkzeug diesen speziellen Container in einer anderen virtuellen Maschine namens Form
zero three gestartet.
Es kann also überwachen, ob die Anwendung oder der Container läuft oder nicht.
Und wenn sie nicht läuft, wird sie automatisch in einer anderen virtuellen Maschine gestartet, die
verfügbar ist.
Das ist also sehr ähnlich zu dem, was wir gerade besprochen haben.
Angenommen, ein Webserver-Container funktioniert in einem VMM nicht mehr, dann wird das Orchestrierungs-Tool
den Webserver-Container automatisch in einer anderen virtuellen Maschine starten.
Also lasst uns eines tun, lasst es uns ausprobieren.
Wir loggen uns in den Swarm Zero Three Server ein und stoppen den Container, der im Swarm Zero
Three läuft, manuell.
Und dann sehen wir uns an, ob das Container-Orchestrierungstool, in unserem Fall Docker
Swarm, in der Lage ist, zu erkennen, dass dieser bestimmte Container nicht mehr funktioniert, und ob es wieder einen neuen
Container startet.
Probieren wir es also aus.
Ich bin also mit diesem 103er Rechner verbunden, auf dem unser Dienst läuft.
Das ist also der Dienst, der gerade läuft.
Und wenn Sie sehen, dass der Status oben ist.
Lassen Sie uns also eine Sache tun.
Stoppen wir den Docker-Daemon hier.
Also gut.
Dies ist also der schlimmste Fall.
Es kann also vorkommen, dass der Server selbst nicht mehr reagiert und sich abgeschaltet hat.
Und was passiert jetzt?
Dies ist also die Anwendung, die hier läuft.
Da wir den Docker-Dienst gestoppt hatten, wäre unsere Anwendung nun ausgefallen.
Führen wir nun denselben Befehl aus, nämlich den Docker-Dienst.
Hallo Welt.
Nachdem also festgestellt wurde, dass der Container im Schwarm null-drei nicht läuft, wurde automatisch
der Container im Schwarm null-eins-Knoten gestartet.
Und hier, wenn ich ein Docker-Stück mache, sollten Sie sehen, dass Sie einen Container haben, der läuft
und das ist vom Engine X Image.
So kann das Container-Orchestrierungstool automatisch erkennen, ob der Container aktiv ist oder nicht.
Wenn er nicht aktiv ist, kann er ihn entweder neu starten oder diesen speziellen Container in einem anderen
Knoten starten.
Dies ist also eine Fähigkeit eines Container-Orchestrierungstools.
Es gibt eine Menge anderer Möglichkeiten.
Aber um Ihnen einen Überblick zu verschaffen, habe ich mich bei diesem Video für diese Demo entschieden.
Das war es also mit dem Überblick über die Container-Orchestrierung.
Ich hoffe, dieses Video war informativ für Sie und ich freue mich darauf, Sie im nächsten Video zu sehen.