Bevor Sie beginnen
-
Zum Ausfüllen dieses Leitfadens sind mindestens zwei Linodes erforderlich, die sich im selben Rechenzentrum befinden. Die Anweisungen in diesem Handbuch wurden für Ubuntu 16.04 geschrieben, aber andere Distributionen können verwendet werden; die Linodes müssen nicht dieselbe Distribution verwenden.
-
Folgen Sie unserem Leitfaden zum Einrichten und Sichern einer Compute-Instanz, um Ihr System zu aktualisieren. Möglicherweise möchten Sie auch die Zeitzone festlegen, Ihren Hostnamen konfigurieren, ein eingeschränktes Benutzerkonto erstellen und den SSH-Zugriff sichern.
-
Installieren Sie Docker auf jedem Linode. Weitere Informationen finden Sie in unserem Handbuch Installieren von Docker und Bereitstellen eines LAMP-Stacks oder in der Docker-Installationsdokumentation.
Hinweis Die Schritte in diesem Handbuch erfordern Root-Rechte. Stellen Sie sicher, dass Sie die folgenden Schritte alsroot
ausführen oder mit demsudo
Präfix. Weitere Informationen zu Berechtigungen finden Sie in unserem Leitfaden für Benutzer und Gruppen.
Steigern Sie die Leistung von Docker, indem Sie einen Cluster von Docker-Hosts erstellen, der als Docker Swarm bezeichnet wird. Sie benötigen einen Linode, der als Docker-Schwarm-Manager dient, und einige Docker-Hosts, um dem Schwarm als Knoten beizutreten.
In diesem Leitfaden richten Sie einen Docker Swarm Manager ein und verbinden Knoten für eine skalierbare Containerbereitstellung. Dies erfordert mehrere Linodes mit Docker, die im selben Rechenzentrum installiert sind und ausgeführt werden. Sie müssen nicht dieselbe Distribution ausführen.
Erstellen Sie den Docker Swarm Manager
Der Zweck des Docker Swarm Managers besteht darin, Befehle im Namen des Clusters zu empfangen und Container Knoten zuzuweisen. Der Schwarmmanager verwendet den Raft Consensus-Algorithmus, um Schwarmzustände zu verwalten. Der Raft Consensus-Algorithmus stellt sicher, dass alle Manager-Knoten, die für die Verwaltung und Planung von Aufgaben in einem Cluster zuständig sind, den gleichen, konsistenten Zustand speichern. Bei einem Ausfall übernimmt ein einzelner Knoten die Aufgaben und stellt den stabilen Zustand wieder her.
In diesem Leitfaden erstellen wir einen einzelnen Swarm Manager. Wenn Ihr Ziel Hochverfügbarkeit ist, können Sie mehrere Manager erstellen.
-
Melden Sie sich bei dem Linode an, das Sie für den Swarm-Manager ausgewählt haben, und initialisieren Sie den Manager. Ersetzen Sie
PUBLIC_IP
in diesem Beispiel mit der öffentlichen IP-Adresse Ihres Linode:docker swarm init --advertise-addr PUBLIC_IP
Docker antwortet mit dem Befehl, der erforderlich ist, damit die Knoten dem Schwarm beitreten:
-
Verwenden Sie
docker info
um zu überprüfen, ob Ihr Swarm läuft und aktiv ist:docker info
Knoten mit dem Manager verbinden
In Schritt 1 des vorherigen Abschnitts, The docker swarm init
Befehl gibt Anweisungen aus, wie man dem Manager beitritt.
docker swarm join --token TOKEN PUBLIC_IP:2377
Wobei TOKEN
ist die lange Zeichenfolge, die Ihnen bei der Initialisierung des Schwarms präsentiert wurde, und PUBLIC_IP
ist die öffentlich zugängliche IP-Adresse Ihres Swarm Manager Linode. Wenn Sie sich nicht an das Token erinnern, führen Sie join-token
aus auf dem Manager, um die Informationen von swarm init
anzuzeigen Befehl:
docker swarm join-token worker
-
Um den Knoten mit dem Schwarm zu verbinden, führen Sie
docker swarm join
aus vom Knoten.TOKEN
ändern zum Token aus Schritt 1 im vorherigen Abschnitt undPUIBLIC_IP
an die öffentliche IP des Managers:docker swarm join --token TOKEN PUBLIC_IP:2377
Die Ausgabe zeigt, dass der Knoten dem Schwarm als Worker beigetreten ist. Sie haben jetzt einen kleinen Docker Swarm-Cluster mit einem Manager und einem Knoten:
-
Wiederholen Sie Schritt 1, um so viele Knoten wie nötig mit dem Schwarm zu verbinden.
-
Verwenden Sie auf dem Manager
docker node ls
um Informationen über den Manager und eine Liste aller Knoten anzuzeigen:docker node ls
Stellen Sie einen Dienst mit Docker Swarm bereit
Verwenden Sie zum Bereitstellen eines Dienstes mit Docker Swarm den Manager, um einen einzelnen Knoten vorzubereiten, und skalieren Sie ihn dann die Konfiguration, die Ihren Anforderungen entspricht. In diesem Beispiel installieren Sie NGINX auf einem Knoten und skalieren es dann auf einen Cluster (Schwarm) von drei Knoten.
-
Verwenden Sie im Swarm Manager
service create
um einen Dienst auf einem Knoten bereitzustellen. Ändern Sienginxexample
nach Belieben:docker service create -p 80:80 --name nginxexample nginx
-
Skalieren Sie den NGINX-Dienst auf drei Knoten:
docker service scale nginxexample=3
-
Überprüfen Sie, ob der Dienst mit
docker ps -a
bereitgestellt wurde von jedem Knoten:docker ps -a
-
Um das
nginxexample
zu stoppen verwenden Sie denservice remove
Befehl:docker service remove nginxexample
Weitere Informationen
Weitere Informationen zu diesem Thema finden Sie in den folgenden Ressourcen. Obwohl diese in der Hoffnung bereitgestellt werden, dass sie nützlich sind, beachten Sie bitte, dass wir nicht für die Genauigkeit oder Aktualität extern gehosteter Materialien garantieren können.
- Docker-Dokumentation
- Docker Probieren Sie es aus
- Docker-Hub