Docker Swarm Services bereitstellen – Anleitung

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 der Bereitstellung und Verwaltung von Anwendungen mithilfe von Docker Swarm, einem robusten Container-Orchestrierungstool. Sie lernen, wie Sie einen Docker Swarm Cluster einrichten, Services bereitstellen, skalieren und Last ausgleichen, Services aktualisieren und zurücksetzen sowie Ihre Docker-Umgebung sichern. Am Ende dieses Tutorials verfügen Sie über ein fundiertes Verständnis dafür, wie Sie Docker Swarm nutzen, um Ihre Anwendungsbereitstellungs- und Verwaltungsverfahren zu optimieren.

Docker Swarm Grundlagen

Einführung in Docker Swarm

Docker Swarm ist eine native Clustering- und Orchestrierungslösung für Docker-Container. Sie ermöglicht Entwicklern, einen Cluster von Docker-Nodes zu erstellen und zu verwalten und verwandelt mehrere physische oder virtuelle Maschinen in ein einziges, leistungsstarkes virtuelles System für die Bereitstellung und Verwaltung von Containern.

Schlüsselkonzepte von Docker Swarm

Docker Swarm führt mehrere wichtige Konzepte für die Container-Orchestrierung ein:

Konzept Beschreibung
Swarm-Modus Nativer Clustering-Modus für Docker
Manager-Node Steuert und verwaltet den Swarm-Cluster
Worker-Node Führt Container-Workloads aus
Service Definiert die zu bereitende containerisierte Anwendung

Architekturübersicht

graph TD A[Manager-Node] --> B[Worker-Node 1] A --> C[Worker-Node 2] A --> D[Worker-Node 3]

Initialisierung des Swarm-Clusters

Um einen Docker Swarm-Cluster zu starten, verwenden Sie die folgenden Befehle unter Ubuntu 22.04:

## Docker installieren
sudo apt-get update
sudo apt-get install docker.io

## Swarm-Modus initialisieren
docker swarm init

## Clusterstatus prüfen
docker info | grep Swarm

Knotenverwaltung

Das Hinzufügen von Knoten zum Swarm erfordert einen Join-Token, der vom Manager generiert wird:

## Auf dem Manager-Knoten: Join-Token generieren

## Auf dem Worker-Knoten: Dem Swarm beitreten

Grundlagen der Servicebereitstellung

Erstellen und bereitstellen Sie einen einfachen Service im gesamten Swarm:

## Bereitstellung eines replizierten nginx-Services
docker service create --replicas 3 --name web nginx

Dieser Befehl erstellt drei identische nginx-Container-Instanzen, die über den Swarm-Cluster verteilt sind, und demonstriert die Kernfunktionen der Container-Orchestrierung von Docker Swarm.

Clusterkonfiguration

Strategie zur Swarm-Initialisierung

Die Konfiguration eines Docker Swarm-Clusters umfasst die strategische Knotenverwaltung und die präzise Netzwerkkonfiguration. Der Initialisierungsprozess bestimmt die grundlegende Architektur und die Kommunikationsprotokolle des Clusters.

Knotenrollen und Konfiguration

graph TD A[Manager-Knoten] -->|Steuert| B[Worker-Knoten] A -->|Verwaltet| C[Servicebereitstellung] A -->|Überwacht| D[Clusterzustand]
Knotentyp Verantwortlichkeiten Empfohlene Anzahl
Manager-Knoten Clusterverwaltung, Orchestrierung 3-5 Knoten
Worker-Knoten Containerausführung Skalierbar

Netzwerkkonfigurationsbefehle

Konfigurieren Sie das Docker Swarm-Netzwerk mit spezifischen IP-Adressen und Schnittstellen:

## Netzwerk-Schnittstelle für Swarm spezifizieren
docker swarm init --advertise-addr eth0:2377

## Aktuelle Netzwerk-Konfiguration anzeigen
docker info | grep -A 5 Swarm

Erweiterte Knotenkonfiguration

Fügen Sie Knoten mit spezifischen Labels und Einschränkungen hinzu:

## Knoten mit benutzerdefiniertem Label hinzufügen
docker node update --label-add type=backend node1

## Bereitstellung eines Services auf einem spezifischen Knotentyp
docker service create --constraint node.labels.type==backend nginx

Sicherheit und Authentifizierung

Verwalten Sie Knoten-Join-Tokens sicher:

## Worker-Join-Token regenerieren
docker swarm join-token worker -q

## Manager-Join-Token rotieren
docker swarm join-token manager -q

Servicebereitstellung

Grundlagen der Serviceerstellung

Docker Swarm-Services stellen die Kernkomponente der Anwendungsbereitstellung dar und ermöglichen die verteilte Containerverwaltung über den gesamten Cluster.

graph LR A[Docker-Service] --> B[Container-Replikate] A --> C[Lastenausgleich] A --> D[Rollende Updates]

Grundlegende Strategien zur Servicebereitstellung

Bereitstellungstyp Beschreibung Beispielbefehl
Replizierter Modus Feste Anzahl an Containern docker service create --replicas 3
Globaler Modus Ein Container pro Knoten docker service create --mode global

Beispiel für die Serviceerstellung

Bereitstellung einer Webanwendung mit spezifischen Konfigurationen:

## Erstellen eines Webservices mit benutzerdefinierten Einstellungen
docker service create \
  --name webapp \
  --replicas 5 \
  --publish 8080:80 \
  --update-parallelism 2 \
  --update-delay 10s \
  nginx:latest

Erweiterte Serviceverwaltung

Dynamisches Skalieren und Aktualisieren von Services:

## Skalieren von Serviceinstanzen
docker service scale webapp=10

## Durchführung eines rollenden Updates
docker service update \
  --image nginx:latest \
  --update-parallelism 2 \
  --update-delay 10s \
  webapp

Serviceeinschränkungen und Platzierung

Konfigurieren der Servicebereitstellung mit Knoteneinschränkungen:

## Bereitstellung des Services auf bestimmten Knotentypen
docker service create \
  --constraint node.labels.type==web \
  --name frontend \
  nginx:alpine

Zusammenfassung

Dieses umfassende Tutorial zu "Bereitstellung und Verwaltung von Anwendungen mit Docker Swarm" hat Ihnen das Wissen und die Fähigkeiten vermittelt, Docker Swarm effektiv für Ihre Anwendungsbereitstellung und -verwaltung zu nutzen. Sie haben gelernt, wie man einen Docker Swarm-Cluster einrichtet, Services bereitstellt, diese skaliert und Last verteilt, Services aktualisiert und zurückgesetzt und Ihre Docker-Umgebung abgesichert. Mit diesen Fähigkeiten können Sie Ihre Anwendungen nun selbstbewusst mithilfe der leistungsstarken Container-Orchestrierungsmöglichkeiten von Docker Swarm verwalten.