Einrichten eines Docker Swarm-Clusters
Voraussetzungen
Bevor Sie einen Docker Swarm-Cluster einrichten, stellen Sie sicher, dass Sie Folgendes haben:
- Mindestens zwei Ubuntu 22.04-Hosts (physisch oder virtuell) mit installiertem Docker-Engine.
- SSH-Zugang zu den Hosts.
Schritt 1: Initialisieren des Swarms
Führen Sie auf einem der Hosts den folgenden Befehl aus, um den Swarm zu initialisieren:
docker swarm init --advertise-addr <HOST_IP_ADDRESS>
Ersetzen Sie <HOST_IP_ADDRESS>
durch die IP-Adresse des Hosts.
Dieser Befehl gibt ein Join-Token aus, das Sie verwenden können, um andere Knoten zum Swarm hinzuzufügen.
Schritt 2: Hinzufügen von Worker-Knoten zum Swarm
Führen Sie auf den anderen Hosts den Befehl aus, der im vorherigen Schritt ausgegeben wurde, um dem Swarm als Worker-Knoten beizutreten:
docker swarm join --token <TOKEN> <HOST_IP_ADDRESS>:2377
Ersetzen Sie <TOKEN>
durch das Token, das bei der Swarm-Initialisierung ausgegeben wurde, und <HOST_IP_ADDRESS>
durch die IP-Adresse des Manager-Knotens.
Schritt 3: Überprüfen des Swarms
Führen Sie auf dem Manager-Knoten den folgenden Befehl aus, um die Knoten im Swarm anzuzeigen:
docker node ls
Im Ausgabe sollte der Manager-Knoten und die Worker-Knoten angezeigt werden.
Schritt 4: Bereitstellen eines Services
Um Ihre Swarm-Einrichtung zu testen, stellen Sie einen einfachen Service bereit:
docker service create --name nginx --publish 80:80 nginx
Dies erstellt einen Service namens "nginx" und stellt ihn im gesamten Swarm bereit.
graph TD
A[Manager Node] --> B[Worker Node]
B[Worker Node] --> C[Worker Node]
C[Worker Node] --> A[Manager Node]
A -- "docker swarm init" --> D[Swarm]
B -- "docker swarm join" --> D[Swarm]
C -- "docker swarm join" --> D[Swarm]
D -- "docker service create" --> E[Nginx Service]