GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So richten Sie Docker Swarm Cluster auf Ubuntu ein und konfigurieren es

Docker Swarm ist ein Tool, mit dem Sie einen Cluster von Docker-Hosts bereitstellen können. Es ist ein natives Clustering-Tool, das von Docker bereitgestellt wird und Hochverfügbarkeit und Leistung für Ihre Anwendung bietet, indem es auf alle Knoten innerhalb des Schwarmclusters verteilt wird.

In diesem Tutorial zeigen wir Ihnen Schritt für Schritt, wie Sie mit Ubuntu 16.04 einen Swarm Cluster erstellen. Wir erstellen einen Schwarmcluster mit 2 Ubuntu-Servermaschinen, 1 Serverknoten als Manager und 1 weiteren als Worker. Und dann werden wir versuchen, den einfachen Nginx-Dienst im Schwarm-Cluster bereitzustellen.

Voraussetzungen

  • 2 oder mehr – Ubuntu 16.04 Server
    • manager     132.92.41.4
    • worker01   132.92.41.5
  • Root-Rechte

Was werden wir tun?

  1. Hosts konfigurieren
  2. Installieren Sie Docker-ce
  3. Docker Swarm-Initialisierung
  4. Bereitstellen des ersten Dienstes für den Cluster

Schritt 1 - Hosts konfigurieren

Bevor wir Pakete für den Swarm-Cluster installieren, konfigurieren wir die Hosts-Datei auf beiden Servern.

Führen Sie die folgenden Befehle auf allen Servern aus, „manager“ und „worker01“.

Bearbeiten Sie die Datei „/etc/hosts“ mit dem vim-Editor.

vim /etc/hosts

Fügen Sie die folgende Konfiguration am Ende der Zeile hinzu.

132.92.41.4    manager
132.92.41.5    worker01

Speichern und beenden.

Pingen Sie jetzt alle Knoten mit 'hostname' anstatt mit der IP-Adresse.

ping -c 3 manager
ping -c 3 worker01

Und stellen Sie sicher, dass es auf allen Hosts funktioniert.

Schritt 2 – Docker-ce installieren

Um den Schwarmcluster zu erstellen, müssen wir Docker auf allen Serverknoten installieren. In diesem Schritt installieren wir die Docker-ce Community Edition auf den Servern manager und worker01.

Installieren Sie Docker-ce-Abhängigkeiten mit dem folgenden apt-Befehl.

sudo apt install apt-transport-https software-properties-common ca-certificates -y

Fügen Sie nun den Docker-Schlüssel und das Docker-ce-Repository zu unseren Servern hinzu.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo apt-key add -
sudo echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu xenial stable" > /etc/apt/sources.list.d/docker-ce.list

Aktualisieren Sie das Repository und installieren Sie Docker-ce-Pakete mit dem folgenden apt install-Befehl.

sudo apt update
sudo apt install docker-ce -y

Nachdem die Installation abgeschlossen ist, starten Sie den Docker-Dienst und aktivieren Sie ihn so, dass er jedes Mal beim Systemstart gestartet wird.

systemctl start docker
systemctl enable docker

Docker-ce ist jetzt auf unseren Serverknoten installiert.

Als Nächstes konfigurieren wir Docker so, dass es als normaler Benutzer oder Nicht-Root-Benutzer ausgeführt wird.

Erstellen Sie einen neuen Benutzer namens „mohammad“ und fügen Sie ihn der Gruppe „docker“ hinzu.

useradd -m -s /bin/bash mohammad
sudo usermod -aG docker mohammad

Melden Sie sich jetzt beim Benutzer „mohammad“ an und führen Sie den Docker-Befehl „hello-world“ wie unten beschrieben aus.

su - mohammad
docker run hello-world

Und Sie erhalten das Hello World von Docker, wie unten gezeigt.

Schritt 3 – Schwarmcluster erstellen

In diesem Schritt erstellen wir den Schwarmcluster unserer Knoten. Und um die Schwarm-Cluster-Knoten zu erstellen, müssen wir den Schwarmmodus auf dem „Manager“-Knoten initialisieren und dann den „Worker01“-Knoten mit dem Cluster verbinden.

Initialisieren Sie den Docker Swarm-Modus, indem Sie den Docker-Befehl unten auf dem „Manager“-Knoten ausführen.

docker swarm init --advertise-addr 132.92.41.4

Und Sie erhalten das unten gezeigte Ergebnis.

Sie werden sehen, dass „Join-Token“ vom „Manager“-Knoten generiert wurde.

Als nächstes müssen wir den Knoten „worker01“ zum Cluster „manager“ hinzufügen. Und dazu benötigen wir ein 'Join-Token' vom Cluster-'Manager'-Knoten, also schreiben Sie es auf Ihre Notiz.

Führen Sie den docker swarm join-Befehl auf dem „worker01“-Knoten aus.

docker swarm join --token SWMTKN-1-5p5ujrr67rl2rlmyvrj56fksblbcrtaeirf7fj5r4snid2vn6y-918gbqr02m64xct43i2ssi4qs 132.92.41.4:2377

Jetzt erhalten Sie das unten gezeigte Ergebnis.

Der Knoten „worker01“ wurde dem Cluster hinzugefügt.

Überprüfen Sie dies, indem Sie den folgenden Befehl auf dem „Manager“-Knoten ausführen.

docker node ls

Jetzt sehen Sie, dass der Knoten „worker01“ dem Schwarmcluster hinzugefügt wurde.

Der Schwarm-Cluster wurde erstellt.

Schritt 4 – Bereitstellen des ersten Dienstes im Cluster

In diesem Schritt werden wir unseren ersten Dienst erstellen und für den Schwarmcluster bereitstellen. Wir möchten einen neuen Dienst-Nginx-Webserver erstellen, der auf dem Standard-HTTP-Port 80 ausgeführt wird, und ihn dann dem Port 8080 auf dem Hostserver zur Verfügung stellen und dann versuchen, den nginx-Dienst innerhalb des Schwarmclusters zu replizieren.

Dienst erstellen

Erstellen Sie einen neuen Nginx-Dienst mit dem Namen „my-web“ und stellen Sie den HTTP-Port des Containers dem Port 8080 auf dem Host zur Verfügung.

docker service create --name my-web --publish 8080:80 nginx:1.13-alpine

Und wenn es erstellt ist, überprüfen Sie es mit dem Docker-Dienstbefehl unten.

docker service ls

Und Sie erhalten das unten gezeigte Ergebnis.

Der Nginx-Dienst wurde erstellt und im Schwarmcluster als Dienst namens „my-web“ bereitgestellt, er basiert auf Nginx Alpine Linux, stellt den HTTP-Port des Containerdienstes dem Port „8080“ auf dem Host zur Verfügung und es hat nur 1 Repliken.

Repliken und Skalieren des Dienstes

Jetzt werden wir Kopien für den Dienst „my-web“ erstellen. Wir werden 2 Kopien des Dienstes „my-web“ erstellen, sodass der Dienst auf den Knoten „manager“ und „worker01“ zugänglich ist.

Führen Sie den folgenden Befehl aus, um den Dienst „my-web“ zu replizieren.

docker service scale my-web=2

Und wenn es fertig ist, überprüfen Sie es erneut mit dem Befehl docker service.

docker service ls

Und jetzt hat der Server 2 Replikate.

Öffnen Sie Ihren Webbrowser und geben Sie die IP-Adresse des Manager-Knotens mit Port 8080 ein.

http://manager:8080/

Und Sie erhalten die Nginx-Standardseite.

Unten sehen Sie das Ergebnis des Knotens „worker01“.

http://worker01:8080/

Der Swarm-Cluster wurde erstellt und der Nginx-Dienst wurde vollständig in unserem Swarm-Cluster bereitgestellt.


Ubuntu
  1. So installieren und konfigurieren Sie Redis unter Ubuntu 18.04

  2. So installieren und konfigurieren Sie Redmine unter Ubuntu 18.04

  3. So installieren und konfigurieren Sie Samba unter Ubuntu 18.04

  4. So installieren und konfigurieren Sie Redis unter Ubuntu 20.04

  5. So richten Sie den MariaDB Galera-Cluster unter Ubuntu 20.04 ein

So installieren und konfigurieren Sie den SeaweedFS-Cluster unter Ubuntu 20.04

So installieren und konfigurieren Sie einen Docker Swarm-Cluster unter CentOS 8

So installieren und konfigurieren Sie Docker Swarm unter CentOS 7 / Ubuntu 16.04 / Fedora 26/25

So installieren und konfigurieren Sie Docker-CE unter Ubuntu 18.04 LTS

So richten Sie die UFW-Firewall unter Ubuntu 20.04 ein und konfigurieren sie

So installieren und konfigurieren Sie Kitematic unter Ubuntu Linux