In Docker ist ein Cluster eine Gruppe mehrerer Maschinen, auf denen Docker ausgeführt wird und die zu einer Gruppe zusammengeschlossen sind. Es handelt sich um eine Gruppe von Diensteinheiten, die zusammenarbeiten. Ein Cluster wird verwendet, um eine Serviceplattform bereitzustellen, die skalierbarer und verfügbarer ist als eine einzelne Serviceeinheit. Nach dem Beitritt zum Cluster können Sie weiterhin Ihre eigenen Docker-Befehle ausführen, aber jetzt werden diese Maschinen vom Cluster-Manager auf dem Cluster ausgeführt. und der Cluster-Manager kann unterschiedliche Richtlinien verwenden, um laufende Container zu verwalten.
Die Betriebsumgebung dieses Tutorials: Linux7.3-System, Docker-Version 19.03, Dell G3-Computer.
Ein Cluster ist eine Gruppe mehrerer Maschinen, auf denen Docker ausgeführt wird und die zu einer Gruppe zusammengeschlossen sind.
Nachdem Sie dem Cluster beigetreten sind, können Sie weiterhin Ihre eigenen Docker-Befehle ausführen, aber jetzt werden diese Maschinen vom Cluster-Manager auf dem Cluster ausgeführt. Die Maschinen im Cluster können physisch oder virtuell sein. Nach dem Beitritt zur Gruppe wird jede Maschine als Knoten bezeichnet.
Der Cluster-Manager kann verschiedene Strategien verwenden, um laufende Container zu verwalten, zum Beispiel: Der Befehl „Leerster Knoten“ wird verwendet, um die am wenigsten genutzten Container zu füllen. Global stellt sicher, dass jede Maschine nur eine Instanz des angegebenen Containers erhalten kann. Sie können diese Richtlinien in eine Datei schreiben, um die Richtlinien des Cluster-Managers durchzusetzen.
Der Cluster-Manager ist die einzige Maschine im Cluster, die Befehle ausführen kann. Sie können auch andere Maschinen autorisieren, sich der Cluster-Verwaltungsarbeit anzuschließen.
Ein Cluster ist eine Gruppe von Serviceeinheiten (kann als Server verstanden werden), die zusammenarbeiten, um eine Serviceplattform bereitzustellen, die skalierbarer und verfügbarer ist als eine einzelne Serviceeinheit. Aus der Sicht des Kunden sieht ein Cluster wie eine Diensteinheit aus, tatsächlich besteht ein Cluster jedoch aus einer Reihe von Diensteinheiten.
Wissen erweitern
In Docker-Cluster-Diensten müssen die folgenden Konzepte verstanden werden.
Swarm
Swarm ist ein Cluster aus mehreren Hosts, auf denen Docker Engine ausgeführt wird.
Ab v1.12 wurden Clusterverwaltungs- und Orchestrierungsfunktionen in die Docker Engine integriert. Wenn die Docker Engine einen Schwarm initialisiert oder einem bestehenden Schwarm beitritt, startet sie den Schwarmmodus.
Wenn der Schwarmmodus nicht gestartet ist, führt Docker Containerbefehle aus; nach dem Ausführen des Schwarmmodus fügt Docker die Möglichkeit hinzu, Dienste zu orchestrieren. Docker ermöglicht die Ausführung von Swarm Service und separaten Containern auf demselben Docker-Host.
Knoten
Jede Docker-Engine in Swarm ist ein Knoten, und es gibt zwei Arten von Knoten: Manager und Worker.
Um Anwendungen für Swarm bereitzustellen, müssen wir den Bereitstellungsbefehl auf dem Manager-Knoten ausführen. Der Manager-Knoten zerlegt die Bereitstellungsaufgabe und weist sie einem oder mehreren Worker-Knoten zu, um die Bereitstellung abzuschließen.
Der Managerknoten ist für die Durchführung von Orchestrierungs- und Clusterverwaltungsarbeiten verantwortlich und sorgt dafür, dass Swarm im gewünschten Zustand bleibt. Wenn es in Swarm mehrere Manager-Knoten gibt, verhandeln diese automatisch und wählen einen Leiter aus, der Orchestrierungsaufgaben ausführt.
Woker-Knoten akzeptiert und führt Aufgaben aus, die vom Manager-Knoten gesendet werden. In der Standardkonfiguration ist der Manager-Knoten auch ein Worker-Knoten, er kann jedoch als Nur-Manager-Knoten konfiguriert werden, um für die Orchestrierung und Clusterverwaltung verantwortlich zu sein.
Der Arbeitsknoten meldet regelmäßig seinen eigenen Status und den Status der von ihm ausgeführten Aufgaben an den Managerknoten, sodass der Manager den Status des gesamten Clusters aufrechterhalten kann.
service
service definiert die Aufgaben, die auf dem Worker-Knoten ausgeführt werden sollen. Die Hauptaufgabe der Swarm-Orchestrierung besteht darin, sicherzustellen, dass sich der Dienst im gewünschten Zustand befindet.
Geben Sie ein Dienstbeispiel: Starten Sie einen Nginx-Dienst im Schwarm, verwenden Sie das Bild nginx:latest und die Anzahl der Kopien beträgt 3.
Der Manager-Knoten ist für die Erstellung dieses Dienstes verantwortlich. Nach der Analyse ist bekannt, dass drei Nginx-Container gestartet werden müssen, und die Aufgabe zum Ausführen der Container wird entsprechend dem aktuellen Status jedes Worker-Knotens zugewiesen Container werden auf Worker1 ausgeführt und ein Container wird auf Worker2 ausgeführt.
Nachdem Worker2 eine Weile lief, fiel er plötzlich aus. Der Manager überwachte diesen Fehler und startete sofort einen neuen Nginx-Container auf Worker3. Dadurch wird sichergestellt, dass sich der Dienst in den gewünschten drei Replikatzuständen befindet.
Kurz gesagt, der Schwarm organisiert Cluster gleichzeitig in Form von Knoten. Auf jedem Knoten können ein oder mehrere Dienste (Dienste) bereitgestellt werden, und jeder Dienst kann einen oder mehrere Container (Container) enthalten.
Empfohlenes Lernen: „Docker-Video-Tutorial“
Das obige ist der detaillierte Inhalt vonWas bedeutet Docker-Cluster?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!