Zum Inhalt

Erster Schwarm

1. Was wird mit dem langen Befehl auf dem Manager ausgelösen?

Befehl

    docker service create --replicas 3 --name hello --detach=false --publish 8080:80 nginx
Der Befehl erstellt einen neuen Docker-Service imSwarm-Cluster mit den folgenden Einstellungen

  • `--name hello:` Der Dienst erhält den Namen "hello".
  • `--replicas:3` Es werden drei Instanzen (Replikate) des Dienstes bereitgestellt.
  • `--detach=false`: Der Befehl wird im Vordergrund ausgefüht, sodass die Ausgaben und Protokolle des Dienstes direkt angezeigt werden.
  • `--pblish 8080:80` Der Host-Port 8080 wird auf den Container-Port 80 weitergeleitet, sodass der Dienst über den Host-Port erreichbar ist.
  • `nginx:` Als Basis für den Dienst wird das Nginx-Image verwendet, ein gängiger Webserver.

Zusammengefasst wird ein Service mit drei Nginx-Instanzen erstellt, der über den Host-Port 8080 zugänglich ist.

2. Was ist das Ziel eines Swarm-Clusters?

Ein Swarm-Cluster verfolgt eines Swarm-Clusters?

Ziele

    Ein Swarm-Cluster verfolgt mehere Ziele:
  • Skalierung:Container-Dienste werden über mehrere Knoten verteilt und können je nach Bedarf skaliert werden.
  • Lastverteilung:Die Anfragen werden gleichmässig auf die verschiedenen Replikate und Knoten verteilt.
  • Hochverfügbarkeit:Der Dienst bleibt auch bei einem Ausfall eines Knotens verfügbar, um eine unterbrechungsfreie Bereitstellung zu gewährleisten.
  • Service-Management:Verwaltung der Bereitstellung, Aktualisierung und das Rollbacks von Diensten auf einfache und automatisierte Weise.

3. Orchestrierung: Wer übernimmt diese Aufgabe und wie wird verteilt?

Der Swarm-Manager

Der Swarm-Manager ist für die Orchestrierung im Docker Swarm-Cluster verantwortlich. Er steuert die Verteilung und Verwaltung der Dienste und entscheidet, auf welchen Knoten die Container-Instanzen (Replikate) eines Dienstes bereitgestellt werden. Die Zuweisung erfolgt basierend auf den verfügbaren Ressourcen und den Vorgaben des Clusters.

4. Aufgabenverteilung: Was sind Replikate und wo laufen sie?

Replikate

Replikate sind einzelne Instanzen eines Docker-Dienstes. Im Beispiel werden drei Replikate des Nginx-Dienstes erstellt. Diese Replikate werden auf verschiedenen Knoten des Swarm-Clusters verteilt. Der Swarm-Manager stellt sicher, dass die Replikate gleichmäßig verteilt werden, um die Last optimal zu verteilen und die Ressourcennutzung zu maximieren.

5. Zustandsüberwachung: Was passiert bei einem Knoten-Ausfall?

Knoten Ausfall 🪢

Fällt ein Knoten im Swarm-Cluster aus, übernimmt der Swarm-Manager die automatische Wiederherstellung. Er erkennt den Ausfall und startet neue Replikate des betroffenen Dienstes auf anderen verfügbaren Knoten. Dadurch bleibt die gewünschte Anzahl an Replikaten erhalten, was die Hochverfügbarkeit des Dienstes sicherstellt. So wird der Betrieb auch bei Knoten-Ausfällen fortgesetzt.