Im heutigen Cloud-Computing-Zeitalter hat sich die Containerisierungstechnologie zu einer der beliebtesten Technologien in der Open-Source-Welt entwickelt. Das Aufkommen von Docker hat Cloud Computing komfortabler und effizienter gemacht und ist zu einem unverzichtbaren Werkzeug für Entwickler sowie Betriebs- und Wartungspersonal geworden. Die Anwendung der Multi-Node-Cluster-Technologie basierend auf Docker ist weit verbreitet. Durch die Bereitstellung von Clustern mit mehreren Knoten können wir Ressourcen effizienter nutzen, die Zuverlässigkeit und Skalierbarkeit verbessern und außerdem flexibler bei der Bereitstellung und Verwaltung sein. Als Nächstes stellen wir vor, wie Sie Docker zum Verwalten und Erweitern von Clustern mit mehreren Knoten verwenden.
Schritt 1: Erstellen Sie eine Multi-Node-Cluster-Umgebung
Um den Multi-Node-Cluster zu verwalten und zu erweitern, müssen wir zunächst mehrere Nodes erstellen. In diesem Artikel verwenden wir die Docker Swarm-Technologie, die uns dabei helfen kann, Multi-Node-Cluster bequemer zu verwalten.
1) Installieren Sie Docker und Docker Compose auf mehreren Maschinen und stellen Sie sicher, dass sie miteinander kommunizieren können.
2) Wählen Sie eine der Maschinen als „Verwaltungsknoten“ aus und führen Sie den folgenden Befehl aus:
docker swarm init --advertise-addr <管理节点IP>
Nach der Ausführung wird ein Token zurückgegeben. Dieses Token wird verwendet, um weitere Knoten zu diesem Schwarm hinzuzufügen. Gleichzeitig wird Ihr lokaler Computer nach Ausführung dieses Befehls zum Verwaltungsknoten von Swarm.
3) Weitere Maschinen zu Swarm hinzufügen. Führen Sie den folgenden Befehl auf anderen Maschinen aus:
docker swarm join --token <token> <管理节点IP>:2377
Zu diesem Zeitpunkt werden andere Maschinen zu Swarm hinzugefügt. Wir können den folgenden Befehl verwenden, um die Knoten in Swarm anzuzeigen:
docker node ls
Schritt 2: Erstellen Sie den Dienst und erweitern Sie die Kapazität
Nachdem wir eine Clusterumgebung mit mehreren Knoten eingerichtet haben, können wir mit dem Aufbau des Dienstes beginnen. Ein Dienst bezieht sich auf eine Gruppe von Containerinstanzen, die in Swarm ausgeführt werden. Sie teilen sich Host-, Netzwerk- und Speicherressourcen und können automatisch horizontal skaliert werden. Hier nehmen wir eine einfache Webanwendung als Beispiel, um vorzustellen, wie Dienste erstellt und erweitert werden.
1) Dockerfile schreiben. Zuerst müssen wir eine Dockerfile-Datei schreiben, das Basis-Image der Anwendung angeben und Befehle ausführen usw.
FROM node:latest WORKDIR /app COPY . /app RUN npm install CMD ["npm", "start"]
Unter diesen haben wir node:latest als Basis-Image ausgewählt, unsere Anwendungsdateien zum Verzeichnis /app hinzugefügt, Abhängigkeiten installiert und das Programm gestartet.
2) Schreiben Sie docker-compose.yml. docker-compose ist ein Tool zum Definieren und Ausführen von Docker-Anwendungen mit mehreren Containern. Hier können wir Docker-Compose verwenden, um einen Dienst namens Web zu definieren.
version: '3' services: web: build: . ports: - "8080:8080" environment: - NODE_ENV=production deploy: replicas: 5 resources: limits: cpus: "0.1" memory: 50M restart_policy: condition: on-failure
Diese Docker-Compose-Datei gibt unsere Anwendungserstellungsmethode, Portzuordnung, Umgebungsvariablen, Anzahl der Replikate, Ressourcenlimits usw. an. In Schritt drei verwenden wir den Docker-Stack-Deploy-Befehl, um den Dienst zu erstellen und auszuführen.
3) Dienste auf- und ausbauen. Nachdem wir die beiden oben genannten Schritte abgeschlossen haben, können wir mit dem Aufbau und der Skalierung unseres Dienstes beginnen. Bitte führen Sie den folgenden Befehl aus:
docker-compose build docker stack deploy --compose-file docker-compose.yml web
Dieser Befehl stellt unseren Dienst in Swarm bereit und gibt 5 Instanzen an. Besuchen Sie http://
Schritt drei: Den Dienst verwalten und skalieren
Nachdem wir den Dienst erfolgreich erstellt und bereitgestellt haben, müssen wir ihn verwalten und skalieren. Die Verwaltung und Erweiterung von Diensten in Swarm ist sehr einfach, Sie müssen nur wenige Befehle ausführen.
1) Überprüfen Sie den Servicestatus. Mit dem folgenden Befehl können wir den Status eines Dienstes anzeigen:
docker service ls docker service ps web
Dieser Befehl zeigt alle laufenden Dienste und Dienstinstanzen an. Zu diesem Zeitpunkt sollten fünf Webdienstinstanzen ausgeführt werden.
2) Kapazitätserweiterungsservice. Mit dem folgenden Befehl können wir die Anzahl der Instanzen des Dienstes erweitern:
docker service scale web=8
Dieser Befehl erhöht die Anzahl der Instanzen des Webdienstes auf 8.
3) Update-Service. Um den Dienst zu aktualisieren, müssen wir die vorherige Datei „docker-compose.yml“ ändern und den Befehl „Docker Stack Deploy“ erneut ausführen. Führen Sie nach Abschluss der Änderung den folgenden Befehl aus, um den Dienst zu aktualisieren:
docker stack deploy --compose-file docker-compose.yml web
Zusammenfassung
Die Multi-Node-Cluster-Technologie ist eine sehr praktische Technologie, die in Docker verwendet wird und uns dabei helfen kann, unsere Anwendungen bequemer zu verwalten und zu erweitern. In diesem Artikel stellen wir vor, wie Sie mit Docker Swarm eine Clusterumgebung mit mehreren Knoten erstellen, und zeigen anhand einer Webanwendung als Beispiel, wie Sie Dienste erstellen, bereitstellen, verwalten und erweitern. Ich glaube, dass durch die Einführung dieses Artikels jeder ein tieferes Verständnis der Docker Swarm-Multi-Node-Cluster-Technologie hat.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Docker zum Verwalten und Erweitern von Clustern mit mehreren Knoten. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!