Hinzufügen eines Worker-Knotens (Arbeitsknotens) zum Swarm
Im vorherigen Schritt haben wir einen Docker Swarm initialisiert, und die Ausgabe hat uns einen Befehl zum Hinzufügen eines Worker-Knotens gegeben. In einer realen Umgebung würden Sie diesen Befehl auf einem separaten Rechner ausführen, den Sie als Worker zu Ihrem Swarm hinzufügen möchten. Da wir jedoch eine einzelne LabEx VM verwenden, werden wir das Hinzufügen eines Worker-Knotens simulieren, indem wir den Join-Befehl auf demselben Rechner ausführen.
Zunächst holen wir uns den Join-Befehl für einen Worker-Knoten. Sie können das Join-Token und den Befehl erhalten, indem Sie docker swarm join-token worker
auf dem Manager-Knoten (unser aktuelle VM) ausführen.
docker swarm join-token worker
Die Ausgabe sieht in etwa so aus:
To add a worker to this swarm, run the following command on the worker node:
docker swarm join --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 172.17.0.2:2377
Kopieren Sie den gesamten docker swarm join --token ...
-Befehl aus der Ausgabe. Dieser Befehl enthält das eindeutige Token sowie die IP-Adresse und den Port des Swarm-Managers.
Führen Sie nun den kopierten Befehl aus, um den aktuellen Knoten als Worker zum Swarm hinzuzufügen.
docker swarm join --token SWMTKN-1-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx 172.17.0.2:2377
Ersetzen Sie das Token und die IP-Adresse durch die Werte, die Sie mit dem Befehl docker swarm join-token worker
erhalten haben.
Sie sollten eine Ausgabe sehen, die darauf hinweist, dass der Knoten als Worker dem Swarm beigetreten ist:
This node joined a swarm as a worker.
Um zu überprüfen, ob der Knoten dem Swarm beigetreten ist, können Sie die Knoten im Swarm aus Sicht des Managers auflisten. Da unsere einzelne VM sowohl als Manager als auch als Worker fungiert, können wir den Befehl docker node ls
verwenden.
docker node ls
Die Ausgabe zeigt die Knoten im Swarm an. Sie sollten zwei Einträge für dieselbe Knoten-ID sehen, einen mit dem Status "Ready" und der Rolle "Manager" und einen anderen mit dem Status "Ready" und der Rolle "Worker".
ID HOSTNAME STATUS AVAILABILITY MANAGER STATUS ENGINE VERSION
xxxxxxxxxxxx * labex-vm Ready Active Leader 20.10.21
xxxxxxxxxxxx labex-vm Ready Active 20.10.21
Dies bestätigt, dass der Knoten erfolgreich als Worker dem Swarm beigetreten ist.