Verwalten von Bereitstellungen mit mehreren Knoten mit Rancher und Docker unter Ubuntu 16.04

Einführung

Rancher unterstützt die Docker Machine -basierte Bereitstellung, mit der Docker-Hosts einfach bei Cloud-Anbietern oder in Ihrem eigenen Rechenzentrum erstellt werden können. Mit Rancher können Sie Rechenknoten direkt über die Rancher-Benutzeroberfläche starten. Dies ist ein kleiner, aber entscheidender Schritt, um Bereitstellungen mit mehreren Knoten und künftig mehreren Clouds über eine einzige Schnittstelle zu erstellen und zu verwalten.

In diesem Lernprogramm verwenden Sie den in Rancher integrierten DigitalOcean driver, um Droplets über die Rancher-Benutzeroberfläche zu erstellen und für die Ausführung von Docker-Computing bereitzustellen Hosts, die Sie überwachen, skalieren und zum Bereitstellen von Docker-Containern verwenden können.

Voraussetzungen

Um diesem Tutorial zu folgen, benötigen Sie:

Schritt 1 - Erstellen eines Droplets zum Hosten von Rancher

Damit Rancher Docker-Hosts und -Container verwalten kann, muss Rancher ausgeführt werden. Wir verwenden das Docker-Image von DigitalOcean und einige * Benutzerdaten *, um schnell einsatzbereit zu sein.

Melden Sie sich zunächst bei Ihrem DigitalOcean-Konto an und wählen Sie * Droplet erstellen *. Wählen Sie dann im Abschnitt "Bild auswählen" das Tag "Apps mit einem Klick" aus. Wählen Sie das Bild * Docker 18.06.1 ~ ce ~ 3 am 18.04 * aus.

Wählen Sie als Nächstes ein * 1GB * Droplet aus und wählen Sie eine Datencenter-Region für Ihr Droplet aus.

Wählen Sie anschließend im Bereich "Zusätzliche Optionen auswählen" die Option "Benutzerdaten" und geben Sie das folgende Skript in das angezeigte Textfeld ein. Dieses Skript weist das Droplet an, das Docker-Image + rancher / server + abzurufen und beim Start einen Rancher-Server in einem Container zu starten.

#!/bin/bash
docker run -d --name rancher-server -p 80:8080 rancher/server

Fügen Sie schließlich Ihre SSH-Schlüssel hinzu, geben Sie einen Hostnamen für Ihr Droplet ein und klicken Sie auf die Schaltfläche * Erstellen *. Warten Sie, während Ihr neuer Server erstellt wird. Sobald der Server gestartet ist, lädt Docker ein Rancher-Image herunter und startet den Rancher-Server. Dies kann einige Minuten länger dauern.

Um zu überprüfen, ob Rancher ausgeführt wird, melden Sie sich bei Ihrem neuen Droplet an:

ssh root@

Sobald Sie angemeldet sind, rufen Sie eine Liste der ausgeführten Docker-Container ab:

docker ps

Folgendes wird angezeigt, um zu bestätigen, dass Rancher ausgeführt wird:

Outputec5492f1b628              "/usr/bin/entry /usr/"   15 seconds ago             3306/tcp, 0.0.0.0:80->8080/tcp

Wenn dies nicht angezeigt wird, warten Sie einige Minuten und versuchen Sie es erneut. Sobald Sie sichergestellt haben, dass Rancher ausgeführt wird, können Sie sich vom Computer abmelden.

Schritt 2 - Konfigurieren der Authentifizierung für Rancher

Wenn Ihr Server hochgefahren ist, navigieren Sie zu "+ http: /// +", um die Rancher-Benutzeroberfläche aufzurufen. Da der Rancher-Server derzeit für das Internet geöffnet ist, empfiehlt es sich, die Authentifizierung so einzurichten, dass die Öffentlichkeit keine Änderungen an unserer Umgebung vornehmen kann. Lassen Sie uns Rancher für die Verwendung der OAuth-basierten Authentifizierung von Github konfigurieren.

Sie sehen ein Warnsymbol neben dem Menüpunkt * ADMIN * am oberen Bildschirmrand.

image: https: //assets.digitalocean.com/articles/rancher_1604/Wxi8mXw.png [Zugriffssteuerung ist nicht konfiguriert]

Wenn Sie den Mauszeiger über diesen Link bewegen, wird die Meldung * Access Control ist nicht konfiguriert * angezeigt. Wählen Sie im Menü * ADMIN * die Option * Zugriffskontrolle *. Github wird als Standardauthentifizierungsmethode ausgewählt. Befolgen Sie daher die Anweisungen auf der Seite, um eine neue Anwendung bei GitHub zu registrieren.

Nachdem Sie die Anwendung registriert haben, kopieren Sie die * Client ID * und * Client Secret * von der Anwendungsseite auf Github in die entsprechenden Textfelder in der Rancher-Benutzeroberfläche. Klicken Sie dann auf * Speichern *.

Klicken Sie dann unter * Authentifizierung testen und aktivieren * auf * Mit GitHub authentifizieren * und klicken Sie im folgenden Fenster auf * Anwendung autorisieren *. Die Seite wird neu geladen und die Anweisungen zum Einrichten von OAuth werden durch den Abschnitt * Configure Authorization * (Autorisierung konfigurieren) ersetzt. Fügen Sie zusätzliche Benutzer und Organisationen hinzu, die Zugriff auf Rancher erhalten sollen. Wenn Sie Änderungen vornehmen, klicken Sie auf die Schaltfläche * Speichern *.

Als Nächstes erstellen wir eine Umgebung zum Organisieren Ihrer Computerhosts.

Schritt 3 - Erstellen einer Umgebung

In einer Umgebung in Rancher können wir unsere Hosts in logische Mengen gruppieren. Rancher bietet eine Umgebung mit dem Namen * Standard *, aber wir erstellen eine eigene. Klicken Sie oben auf dem Bildschirm auf den Link * Standard *, um das Menü * Umgebungen * anzuzeigen, und klicken Sie dann auf * Umgebungen verwalten *. Klicken Sie auf die Schaltfläche * Umgebung hinzufügen *, die auf der Seite angezeigt wird.

Geben Sie einen Namen und eine Beschreibung für Ihr Projekt ein. Übernehmen Sie die Standardeinstellungen für alle anderen Einstellungen und klicken Sie auf * Erstellen *. Verwenden Sie dann das Projektauswahlmenü erneut, um Ihre neue Umgebung auszuwählen.

Lassen Sie uns nun einige Hosts in dieser neuen Umgebung starten.

Schritt 4 - Starten von Rancher-Rechenknoten

Wenn Sie Ihre Rancher-Bereitstellung gesichert und ein Projekt hinzugefügt haben, wählen Sie im Menü "Infrastruktur" die Option "Hosts" aus und klicken Sie auf die Schaltfläche "Host hinzufügen".

Auf dem Bildschirm * Add Host * (Host hinzufügen) werden verschiedene Anbieter angezeigt: * Custom * (Benutzerdefiniert), * Amazon EC2 *, * DigitalOcean *, * Azure * und * Packet *. Die Option * Benutzerdefiniert * listet die Schritte zum manuellen Starten eines Rancher-Rechenknotens auf einem Server mit Docker auf. Die anderen werden zum Starten von Rechenknoten auf den jeweiligen Cloud-Systemen verwendet.

Wählen Sie die Option * DigitalOcean * aus, wie in der folgenden Abbildung dargestellt:

Platzieren Sie im Feld * Access Token * Ihr persönliches Zugriffstoken für die DigitalOcean-API, die Sie im Abschnitt Voraussetzungen erhalten haben. Drücken Sie dann * Weiter: Droplet konfigurieren *.

Auf dem Bildschirm wird ein neuer Satz von Feldern angezeigt. Füllen Sie die folgenden Details aus:

  • * Name *: Der Name des Servers, den Sie erstellen möchten. In diesem Fall geben Sie "+ host01 +" ein.

  • * Anzahl *: Belassen Sie dies bei + 1 +. Wenn Sie diesen Wert erhöhen, werden mehrere Hosts erstellt und jeder wird automatisch für Sie benannt.

  • * Image *: Wählen Sie die * Ubuntu 16.04.1 x64 * sind deaktiviert, weil sie nicht mit Rancher kompatibel sind.

  • * Größe *: Die Größe des Tropfens. Wählen Sie die Option für ein * 1GB * -Tröpfchen.

  • * Region *: Die Region, in der Ihr Droplet erstellt wird. Wählen Sie einen Standort in Ihrer Nähe.

Klicken Sie abschließend auf * Erstellen *. Rancher verwendet Docker Machine, um das angegebene Droplet zu erstellen und Docker darauf zu installieren. Rancher führt auch "+ rancher-agent" auf dem neu erstellten Droplet aus, das sich wiederum beim Rancher-Server registriert.

Innerhalb weniger Minuten sehen Sie Ihren neuen Host in der Rancher-Benutzeroberfläche. Sie erhalten auch einige grundlegende Informationen über den Host, z. B. die IP-Adresse, die Taktrate des Prozessors, den Arbeitsspeicher und den Speicher.

Sie können diesen Schritt so oft wiederholen, wie Sie benötigen, um weitere Rechenknoten in Ihrer Bereitstellung zu starten. Lassen Sie uns nun Ranchers integrierte Überwachung und das Deaktivieren und Löschen von Notizen untersuchen.

Schritt 5 - Überwachen und Skalieren Ihrer Bereitstellung

Sobald Ihre Rechenknoten bereitgestellt sind, klicken Sie auf den Namen eines Ihrer Hosts, um den Überwachungsbildschirm aufzurufen, in dem Sie die CPU-Auslastung und den Speicherverbrauch dieses Rechenknotens sehen können.

image: https://assets.digitalocean.com/articles/rancher_1604/Rk1Uw56.png [CPU- und Speicherverbrauch für Ihren Host]

Wenn Sie feststellen, dass Sie den größten Teil des Arbeitsspeichers verwenden oder Ihre CPU ständig heiß ist, möchten Sie möglicherweise mehr Knoten starten, um die Containerdichte zu verringern und die Last zu verteilen. Hier ist die Integration von + docker-machine wirklich nützlich. Sie können schnell auf Lastspikes reagieren, indem Sie mehr Rechenknoten direkt über die Rancher-Benutzeroberfläche bereitstellen.

Sobald die Spitzen nachlassen, können Sie weitere Knoten herunterfahren, indem Sie die Seite * Hosts * aufrufen, Ihren Host suchen und auf das Symbol * Deaktivieren * (das Feld mit den zwei vertikalen Linien) klicken, wie in der folgenden Abbildung dargestellt:

Anschließend können Sie im Menü rechts neben der Schaltfläche * Deaktivieren * entweder auf * Aktivieren * oder * Löschen * klicken.

Fazit

Sie wissen jetzt, wie Sie Rechenknoten mithilfe von Rancher und seiner Integration in die native Unterstützung von DigitalOcean-Treibern starten, überwachen und deaktivieren. Von hier aus können Sie anwenden von Rancher als Load Balancer.