Wie man einen Worker-Knoten zu einem Docker Swarm-Cluster hinzufügt

DockerDockerBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Dieses Tutorial führt Sie durch den Prozess des Hinzufügens eines Worker-Knotens zu einem Docker Swarm-Cluster. Am Ende dieses Artikels werden Sie verstehen, wie Sie eine Docker Swarm-Umgebung einrichten und verwalten können und wie Sie nahtlos neue Knoten zu Ihrem Cluster hinzufügen können, um Ihre containerisierten Anwendungen zu skalieren.


Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL docker(("Docker")) -.-> docker/ContainerOperationsGroup(["Container Operations"]) docker(("Docker")) -.-> docker/NetworkOperationsGroup(["Network Operations"]) docker(("Docker")) -.-> docker/DockerfileGroup(["Dockerfile"]) docker/ContainerOperationsGroup -.-> docker/run("Run a Container") docker/ContainerOperationsGroup -.-> docker/ps("List Running Containers") docker/ContainerOperationsGroup -.-> docker/start("Start Container") docker/ContainerOperationsGroup -.-> docker/stop("Stop Container") docker/ContainerOperationsGroup -.-> docker/restart("Restart Container") docker/ContainerOperationsGroup -.-> docker/create("Create Container") docker/NetworkOperationsGroup -.-> docker/network("Manage Networks") docker/DockerfileGroup -.-> docker/build("Build Image from Dockerfile") subgraph Lab Skills docker/run -.-> lab-411561{{"Wie man einen Worker-Knoten zu einem Docker Swarm-Cluster hinzufügt"}} docker/ps -.-> lab-411561{{"Wie man einen Worker-Knoten zu einem Docker Swarm-Cluster hinzufügt"}} docker/start -.-> lab-411561{{"Wie man einen Worker-Knoten zu einem Docker Swarm-Cluster hinzufügt"}} docker/stop -.-> lab-411561{{"Wie man einen Worker-Knoten zu einem Docker Swarm-Cluster hinzufügt"}} docker/restart -.-> lab-411561{{"Wie man einen Worker-Knoten zu einem Docker Swarm-Cluster hinzufügt"}} docker/create -.-> lab-411561{{"Wie man einen Worker-Knoten zu einem Docker Swarm-Cluster hinzufügt"}} docker/network -.-> lab-411561{{"Wie man einen Worker-Knoten zu einem Docker Swarm-Cluster hinzufügt"}} docker/build -.-> lab-411561{{"Wie man einen Worker-Knoten zu einem Docker Swarm-Cluster hinzufügt"}} end

Einführung in Docker Swarm

Docker Swarm ist eine native Cluster- und Orchestrierungslösung für Docker-Container. Es ermöglicht Ihnen, eine Gruppe von Docker-Hosts zu verwalten und Anwendungen auf ihnen bereitzustellen, indem es Hochverfügbarkeit, Lastverteilung und Skalierbarkeit bietet.

Was ist Docker Swarm?

Docker Swarm ist ein integriertes Feature des Docker-Engines, das es Ihnen ermöglicht, mehrere Docker-Hosts zu einem einzigen, virtuellen Docker-Host zu clustern. Dies ermöglicht es Ihnen, Ihre containerisierten Anwendungen über mehrere Hosts hinweg zu verwalten und zu skalieren und bietet Fehlertoleranz und Hochverfügbarkeit.

Wichtige Konzepte in Docker Swarm

  1. Swarm: Ein Swarm ist eine Gruppe von Docker-Hosts (physisch oder virtuell), die den Docker-Engine ausführen und sich zusammengefügt haben, um einen Cluster zu bilden.
  2. Knoten (Node): Ein Knoten ist ein einzelner Docker-Host, der Teil eines Swarms ist. Knoten können entweder ein Manager oder ein Worker sein.
  3. Manager-Knoten (Manager Node): Manager-Knoten sind für die Verwaltung des Zustands des Swarms, die Planung von Aufgaben und die Aufrechterhaltung des gewünschten Zustands des Clusters verantwortlich.
  4. Worker-Knoten (Worker Node): Worker-Knoten sind dafür verantwortlich, die eigentlichen Container auszuführen, wie von den Manager-Knoten angeordnet.
  5. Service: Ein Service ist eine deklarative Methode zur Definition, wie eine Anwendung im Swarm bereitgestellt und skaliert werden soll.
graph TD A[Docker Host] --> B[Docker Host] B[Docker Host] --> C[Docker Host] C[Docker Host] --> D[Docker Host] D[Docker Host] --> A[Docker Host] A --- E[Manager Node] B --- F[Worker Node] C --- G[Worker Node] D --- H[Worker Node]

Vorteile von Docker Swarm

  • Hochverfügbarkeit: Docker Swarm bietet automatische Lastverteilung und Failover, um sicherzustellen, dass Ihre Anwendungen hochverfügbar sind.
  • Skalierbarkeit: Sie können Ihre Anwendungen einfach hoch- oder herunterskalieren, indem Sie Knoten zum Swarm hinzufügen oder entfernen.
  • Einfachheit: Docker Swarm ist ein integriertes Feature des Docker-Engines, was die Einrichtung und Verwaltung einfach macht.
  • Integration: Docker Swarm integriert nahtlos mit anderen Docker-Tools und -Services, wie Docker Compose und Docker Registry.

Einrichten eines Docker Swarm-Clusters

Voraussetzungen

Bevor Sie einen Docker Swarm-Cluster einrichten, stellen Sie sicher, dass Sie Folgendes haben:

  1. Mindestens zwei Ubuntu 22.04-Hosts (physisch oder virtuell) mit installiertem Docker-Engine.
  2. 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]

Hinzufügen eines Worker-Knotens zum Swarm

Voraussetzungen

Bevor Sie einen Worker-Knoten zum Swarm hinzufügen können, stellen Sie sicher, dass Sie Folgendes haben:

  1. Einen laufenden Docker Swarm-Cluster mit mindestens einem Manager-Knoten.
  2. SSH-Zugang zum Host, den Sie als Worker-Knoten hinzufügen möchten.

Schritt 1: Abrufen des Join-Befehls

Führen Sie auf dem Manager-Knoten den folgenden Befehl aus, um den Join-Befehl für einen Worker-Knoten zu erhalten:

docker swarm join-token worker

Dies gibt einen Befehl ähnlich dem folgenden aus:

docker swarm join --token SWMTKN-1-49nj1cmql0jkz5s7p15g43pits9-8y0wywnrwwt7a4vox4vx9v68r 192.168.0.16:2377

Schritt 2: Beitreten zum Swarm als Worker-Knoten

Führen Sie auf dem Host, den Sie als Worker-Knoten hinzufügen möchten, den im vorherigen Schritt erhaltenen Befehl aus:

docker swarm join --token SWMTKN-1-49nj1cmql0jkz5s7p15g43pits9-8y0wywnrwwt7a4vox4vx9v68r 192.168.0.16:2377

Dadurch wird der Host als Worker-Knoten dem Swarm beigetreten.

Schritt 3: Überprüfen, ob der Knoten dem Swarm beigetreten ist

Führen Sie auf dem Manager-Knoten den folgenden Befehl aus, um die Knoten im Swarm aufzulisten:

docker node ls

Im Ausgabe sollte der neue Worker-Knoten angezeigt werden.

graph TD A[Manager Node] --> B[Worker Node] B[Worker Node] --> C[Worker Node] C[Worker Node] --> A[Manager Node] A -- "docker swarm join-token worker" --> D[Join Command] B -- "docker swarm join" --> A[Manager Node]

Indem Sie diese Schritte befolgen, können Sie einfach einen neuen Worker-Knoten zu Ihrem Docker Swarm-Cluster hinzufügen und so die Kapazität und Resilienz Ihrer containerisierten Anwendungen erweitern.

Zusammenfassung

In diesem Docker-Tutorial haben Sie gelernt, wie Sie einen Docker Swarm-Cluster einrichten und einen Worker-Knoten hinzufügen können. Indem Sie neue Knoten zu Ihrem Swarm hinzufügen, können Sie Ihre auf Docker basierenden Anwendungen einfach skalieren und eine hochverfügbare, verteilte Umgebung schaffen. Mit den in dieser Anleitung gewonnenen Kenntnissen können Sie nun Ihr Docker Swarm-Infrastruktur sicher verwalten und erweitern, um Ihren wachsenden geschäftlichen Anforderungen gerecht zu werden.