So richten Sie einen Docker Swarm-Cluster unter Ubuntu 16.04 VPS oder einem dedizierten Server ein

Docker Machine ist ein Tool, das Lösungen bietet, indem ein Docker-Cluster bereitgestellt wird, der auf einem lokalen Computer oder einer Cloud-Plattform ausgeführt wird. Sie können Docker Swarm verwenden, um die Leistung zu verbessern, indem Sie es verschiedenen Docker-Hosts in einem Cluster zuweisen.


Die Clusterfunktion ist eine wesentliche Funktion für eine hohe Verfügbarkeit. Es ermöglicht dem Benutzer, Cluster in einem sogenannten Schwarmcluster-Manager zu verwalten. Dadurch kann der Benutzer die Anzahl der Containerinstanzen für eine einzelne Anwendung weiter erhöhen.

In diesem Fall verwenden wir Docker 1.12, für das kein externer Erkennungsdienst erforderlich ist, da zu diesem Zweck ein integrierter Speicherschlüsselwertspeicher enthalten ist. Wir werden versuchen, den Docker Swarm-Cluster unter Ubuntu Version 16.04 einzurichten.

Um loszulegen, benötigen Sie:

  • Kenntnisse in Docker und Ubuntu Version 16.04
  • Mindestens zwei Knoten mit installiertem Docker.
  • Eine IP-Adresse, die auf dem Worker Node und dem Manager Node konfiguriert ist.

Werfen wir einen Blick auf die Knoten

Docker-Cluster bestehen aus zwei Hauptteilen:

Manager-Knoten: Sie befassen sich mit der Verwaltung von Clustern, einschließlich der Aufrechterhaltung des Status von Clustern, der Vorbereitung von Diensten und der Wartung von Schwarmmodus-Endpunkten (HTTP-API). Eine wichtige Funktion im Manager-Quorum, in der wichtige Daten zum Swarm-Cluster gespeichert werden.

Arbeiterknoten: Diese führen Container aus. Sie sind nicht an Planungsentscheidungen beteiligt. Ein Worker-Knoten muss mindestens einen Manager-Knoten haben. Es ist möglich, einen Worker-Knoten auf einen Manager-Knoten zu aktualisieren, wenn dieser gewartet wird.

Stellen Sie vor dem Start sicher, dass Ihr Repository-System auf dem neuesten Stand ist. Verwenden Sie den folgenden Befehl, um es zu aktualisieren:

sudo apt-get update -y && sudo apt-get upgrade -y

Sobald Ihr System mit dem aktuellen Repository-System aktualisiert wurde, starten Sie Ihren Computer neu, um diese Updates anzuwenden.

Schritt 1: Docker installieren

Installieren Sie den Docker-Computer auf jedem der Knoten. Da Docker Swarm im Standardmodus von Ubuntu Version 16.04 nicht vorhanden ist, müssen Sie es zuerst ausführen.

Führen Sie den folgenden Befehl aus, um die erforderlichen Pakete zu installieren:

sudo apt-get installiere apt-transport-https software-properties-common ca-certificates -y

Vergessen Sie nicht, den GPG-Schlüssel für die Anwendung Ihres Dockers anzugeben:

wget https://download.docker.com/linux/ubuntu/gpg && sudo apt-key gpg hinzufügen

Fügen Sie außerdem das Docker Swarm-Repository hinzu und aktualisieren Sie das System:

Sudo-Echo "deb [arch = amd64]
https://download.docker.com/linux/ubuntu xenial stabil" >>
/etc/apt/sources.list
sudo apt-get update -y

Verwenden Sie zum Schluss den folgenden Befehl, um die Docker-Engine zu installieren:

sudo apt-get installiere docker-ce -y

Führen Sie nach Abschluss der Installation der Docker-Engine den Docker aus und lassen Sie ihn innerhalb der Startzeit laufen:

sudo systemctl Docker starten && sudo systemctl Docker aktivieren

Im Standardmodus kann der Docker-Dämon nur als Root-Benutzer des Systems ausgeführt werden, sodass andere Benutzer nur dann darauf zugreifen können, wenn sie ihn verwenden sudo. So führen Sie Ihren Docker ohne aus sudo, Sie müssen eine einheitliche Gruppe erstellen, die als Docker bezeichnet wird, und dann die Anzahl der gewünschten Benutzer hinzufügen. Führen Sie den folgenden Befehl aus, um den Vorgang erfolgreich zu gestalten:

Sudo Groupadd Docker && sudo usermod -aG docker dockeruser

Melden Sie sich vom System ab und dann an, um Ihre Mitgliedschaft zu aktualisieren. Führen Sie den Befehl für jeden Knoten einzeln aus.

Schritt 2: Firewall konfigurieren

Ein bestimmter Cluster sollte mindestens einen Knoten haben, der als Manager-Knoten fungiert. Für einen reibungslosen Prozess sollten jedoch drei Manager verwendet werden. In diesem Lernprogramm wird der erste Knoten als Schwarmmanager verwendet, während die verbleibenden zwei Knoten die Arbeiterknoten darstellen.

Als Nächstes müssen Sie Netzwerkports auf diesen Knoten öffnen, um Teil eines Clusters zu werden, mit dem die Anwendung ordnungsgemäß funktioniert. Wenn Sie die UFW-Firewall verwenden, können Sie auf die folgenden Ports 80, 2377, 2376, 2376, 4789 und 7946 zugreifen. Führen Sie dann den folgenden Befehl aus::

sudo ufw erlauben 2376 / tcp && sudo ufw erlauben 7946 / udp &&
sudo ufw erlauben 7946 / tcp && sudo ufw erlauben 80 / tcp &&
sudo ufw erlauben 2377 / tcp && sudo ufw erlauben 4789 / udp

Laden Sie nun die Firewall neu und richten Sie sie so ein, dass sie nach dem Start gestartet wird:

sudo ufw reload && sudo ufw aktivieren

Starten Sie Ihr Docker-System neu, um die neuen Regeln anzuwenden:

sudo systemctl Docker neu starten

Schritt 3: Erstellen des Docker-Clusters

In diesem Fall haben wir entschieden, dass unser Cluster-Manager Knoten 1 ist. Melden Sie sich daher wie folgt bei Ihrem Knoten an:

Docker-Maschine SSH-Knoten-1

Nach dem Ausführen dieser Eingabeaufforderung ändert sich das System und zeigt an, dass Sie an diesem Knoten angemeldet sind. Führen Sie den folgenden Befehl aus, um den Knoten als Schwarmmanager zu identifizieren:

root @ node-1: ˜ # Docker-Schwarm init –advertise-addr node_ip_address

In diesem Fall, nope_ip_address Gibt die IP-Adresse des Knotens an.

Die Ausgabe sollte folgendermaßen aussehen:

Führen Sie den folgenden Befehl aus, um diesem Schwarm einen Arbeiter hinzuzufügen:

Docker-Schwarm-Join –token SWMTKN-1-5p5f6p6tv1cmjzq9ntx3zmck9kpgt355qq0uaqoj2ple629dl4-5880qso8jio78djpx5mzbqcfu 192.168.0.103:2377

Um diesem Schwarm einen Manager hinzuzufügen, führen Sie “Docker-Schwarm-Join-Token-Manager” aus und befolgen Sie die Anweisungen.

Dieses Token ist nützlich, um im nächsten Prozess Knoten zum Schwarmcluster hinzuzufügen. Der Docker-Computer tritt dem Schwarmcluster basierend auf dem für den Befehl bereitgestellten Token bei.

Überprüfen Sie nun den Status des Manager-Knotens, indem Sie den folgenden Befehl eingeben:

Docker-Info

Überprüfen Sie, ob die Ausgabe ungefähr so ​​aussieht:

Behälter: 0
Laufen: 0
Angehalten: 0
Gestoppt: 0
Bilder: 0
Serverversion: 17.09.0-ce
Speichertreiber: overlay2
Sichern des Dateisystems: extfs
Unterstützt d_type: true
Native Overlay Diff: true
Protokollierungstreiber: JSON-Datei
Cgroup-Treiber: cgroupfs
Plugins:
Lautstärke: lokal
Netzwerk: Bridge-Host-Macvlan-Null-Overlay
Protokoll: awslogs fließend gcplogs gelf journald json-file logentries splunk syslog
Schwarm: aktiv
Knoten-ID: iwjtf6u951g7rpx6ugkty3ksa
Ist Manager: wahr
ClusterID: fo24c1dvp7ent771rhrjhplnu
Manager: 1
Knoten: 1
Orchestrierung:
Aufbewahrungslimit für den Aufgabenverlauf: 5
Floß:
Schnappschussintervall: 10000
Anzahl der zu speichernden alten Schnappschüsse: 0
Herzschlag-Zecke: 1
Wahlkreuz: 3
Dispatcher:
Herzschlagzeitraum: 5 Sekunden
CA-Konfiguration:
Ablaufdauer: 3 Monate
Drehung erzwingen: 0
Autolock-Manager: falsch
Root Rotation In Progress: false
Knotenadresse: 192.168.0.103
Manageradressen:
192.168.0.103:2377
Laufzeit: runc
Standardlaufzeit: runc
Init Binary: Docker-Init
Containerd-Version: 06b9cb35161009dcb7123345749fef02f7cea8e0
runc version: 3f2f8b84a77f73d38244dd690525642a72156c64
Init-Version: 949e6fa
Sicherheitsoptionen:
Apparmor
seccomp
Profil: Standard
Kernel-Version: 4.4.0-45-generic
Betriebssystem: Ubuntu 16.04.1 LTS
OSType: Linux
Architektur: x86_64
CPUs: 1
Gesamtspeicher: 992,5 MB
Name: Manager-Knoten
ID: R5H4: JL3F: OXVI: NLNY: 76MV: 5FJU: XMVM: SCJG: VIL5: ISG4: YSDZ: KUV4
Docker-Stammverzeichnis: / var / lib / docker
Debug-Modus (Client): false
Debug-Modus (Server): false
Registrierung: https://index.docker.io/v1/
Experimentell: falsch
Unsichere Register:
127.0.0.0/8
Live-Wiederherstellung aktiviert: false

Schritt 4: Hinzufügen von Arbeiterknoten zum Schwarmcluster

Nachdem der Worker-Knoten konfiguriert wurde, fügen Sie ihn dem Cluster hinzu.

Beginnen Sie mit der Verbindung zu Knoten-2 von Ihrem lokalen Computer:

$ docker-machine ssh node-2

Vervollständigen Sie dann den Befehl mit dem Text your_swarm_token Dies ist das Token, das Sie beim Erstellen des Clusters erhalten haben manager_node_ip_address stellt die IP-Adresse des Schwarmmanagers dar:

Sobald der Befehl erfolgreich ausgeführt wurde, sehen Sie die folgende Ausgabe:

Melden Sie sich vom Knoten 2 ab, melden Sie sich beim Manager-Knoten an und führen Sie den folgenden Befehl aus, um Folgendes aufzulisten:

Docker-Knoten ls

Der Worker Node sollte folgendermaßen aussehen:

Schritt 5: Starten Sie die Dienste im Docker Swarm

Nachdem Sie Docker Swarm erfolgreich installiert haben, ist es Zeit, den Container zu testen und zu sehen, wie der Swarm Manager damit umgeht.

Richten Sie auf Ihrem Manager-Knoten einen Webdienst mit dem folgenden Befehl ein:

Docker-Dienst erstellen –name Webserver -p 80:80 httpd

Mit diesem Befehl möchten wir Port 80 im Container Port 80 im Cluster zuordnen, um vollen Zugriff auf den Standardmodus auf dem Apache-Server zu erhalten.

Überprüfen Sie den Dienst, indem Sie diesen Befehl eingeben:

Docker-Service ls

Sie sollten eine Ausgabe wie diese sehen:

ID NAME MODE REPLICAS IMAGE PORTS
nnt7i1lipo0h Webserver repliziert 0/1 Apache: neueste *: 80->80 / tcp

Schritt 6: Testen des Docker-Schwarms

Jetzt sollte der Apache-Server auf dem Manager-Knoten reibungslos funktionieren. Auf den Webserver kann zugegriffen werden, indem Sie Ihren Browser an weiterleiten http: // node-1_ip-address.

Sie sollten die folgende Ausgabe sehen::

Jetzt ist auf jedem Knoten ein Apache-Server verfügbar.

Der Docker-Dienst kann einen Dienst skalieren. Beenden Sie Docker auf dem Worker-Knoten, um die Hochverfügbarkeit des Servers zu testen:

sudo systemctl stop docker

Verwenden Sie den folgenden Befehl, um den Apache Server-Status zu ermitteln:

Docker-Dienst ps Webserver

Ein neuer Container auf dem Manager-Knoten sollte mit der folgenden Ausgabe gestartet werden:

ID NAME BILD NODE GEWÜNSCHT STAAT AKTUELLER STAAT FEHLER PORTS
ia2qc8a5f5n4 webserver.1 httpd: letzter Manager-Knoten bereit Bereit vor 1 Sekunde
7roily9zpjvq \ _ webserver.1 httpd: letzte Abschaltung des Worker-Node Wird vor 15 Sekunden ausgeführt
r7nzo325cu73 webserver.2 httpd: letzter Manager-Knoten läuft vor 23 Minuten

Fazit

Herzliche Glückwünsche! So einfach ist das. Jetzt haben Sie eine vollständige Einrichtung von Docker Swarm unter Ubuntu Version 16.04. Außerdem wissen Sie jetzt, wie Sie verschiedene Verwaltungsaufgaben in Swarm Cluster ausführen. Mit diesem Grundverständnis müssen Sie Ihren Docker-Cluster abhängig von den Anforderungen Ihrer Verwaltung immer noch mit mehreren Manager-Knoten konfigurieren.

Schauen Sie sich die Top 3 VPS-Dienste an:

A2 Hosting

Startpreis:
$ 5,00


Verlässlichkeit
9.3


Preisgestaltung
9.0


Benutzerfreundlich
9.3


Unterstützung
9.3


Eigenschaften
9.3

Bewertungen lesen

Besuchen Sie A2 Hosting

ScalaHosting

Startpreis:
$ 12.00


Verlässlichkeit
9.4


Preisgestaltung
9.5


Benutzerfreundlich
9.5


Unterstützung
9.5


Eigenschaften
9.4

Bewertungen lesen

Besuchen Sie ScalaHosting

Hostinger

Startpreis:
$ 3,95


Verlässlichkeit
9.3


Preisgestaltung
9.3


Benutzerfreundlich
9.4


Unterstützung
9.4


Eigenschaften
9.2

Bewertungen lesen

Besuchen Sie Hostinger

Verwandte Anleitungen

  • So richten Sie einen Docker Swarm-Cluster auf einem CentOS 7 VPS oder einem dedizierten Server ein
    Experte
  • Bereitstellen von Docker-Containern mit OpenStack Heat
    Experte
  • So installieren und konfigurieren Sie Docker Compose auf einem Ubuntu 18.04 VPS oder einem dedizierten Server
    Neuling
  • So richten Sie SSH für ein Ubuntu 16.04 VPS von einem Linux-Client aus ein
    Neuling
  • So richten Sie SSH auf einem Ubuntu 16.04 VPS oder einem dedizierten Server ein
    mittlere
Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me