So konfigurieren Sie Consul in einer Produktionsumgebung unter Ubuntu 14.04

Einführung

Consul ist ein verteiltes, hochverfügbares, datencenterorientiertes Diensterkennungs- und Konfigurationssystem. Es kann verwendet werden, um Dienste und Knoten in einer flexiblen und leistungsstarken Oberfläche darzustellen, die es Kunden ermöglicht, immer einen aktuellen Überblick über die Infrastruktur zu haben, zu der sie gehören.

Consul bietet viele verschiedene Funktionen, mit denen konsistente und verfügbare Informationen zu Ihrer Infrastruktur bereitgestellt werden. Dies umfasst Service- und Node-Discovery-Mechanismen, ein Tagging-System, Integritätsprüfungen, konsensbasierte Wahlroutinen, systemweite Speicherung von Schlüsseln und Werten und mehr. Durch die Nutzung von consul in Ihrem Unternehmen können Sie Ihre Anwendungen und Dienste auf einfache Weise besser bekannt machen.

In unserer https://www.digitalocean.com/community/tutorials/an-einführung-zum-gebrauchen-von-consul-a-service-entdeckungssystem-auf-ubuntu-14-04-letzten Anleitung] haben wir eine kurze Beschreibung bereitgestellt Demonstration einiger Funktionen von consul. In diesem Handbuch werden wir mit der Erstellung einer produktionsfertigen Consul-Konfiguration beginnen, mit der Sie die Serviceerkennung für Ihre Infrastruktur implementieren können.

Voraussetzungen und Ziele

In dieser Serie werden wir ein Serversystem einrichten, das in der Lage ist, miteinander zu kommunizieren und Serviceinformationen, Schlüssel- / Wertspeicherpools und andere Details für Clientcomputer zu verwalten. Die ersten Schritte zur Vorbereitung unserer Systemproduktion finden Sie in diesem Handbuch, in dem wir die Software installieren und einige unserer Konfigurationen automatisieren.

In der Dokumentation von consul wird empfohlen, in jedem Rechenzentrum entweder 3 oder 5 * Consul-Server * zu betreiben, um Datenverluste bei einem Serverausfall zu vermeiden. Consul-Server sind die Komponente, die das schwere Heben erledigen. Sie speichern Informationen zu Diensten und Schlüssel- / Wertinformationen. Eine ungerade Anzahl von Servern ist erforderlich, um Pattprobleme bei Wahlen zu vermeiden.

Abgesehen von den Konsul-Servern können auf anderen Rechnern * Konsul-Agenten * ausgeführt werden. Konsulagenten sind sehr leicht und leiten Anfragen einfach an die Server weiter. Sie bieten eine Methode zum Isolieren Ihrer Server und übertragen die Verantwortung für die Kenntnis der Serveradressen auf die Agenten.

Damit wir einige der Sicherheitsmechanismen in einem späteren Handbuch implementieren können, müssen wir alle unsere Computer in einer einzigen Domäne benennen. Auf diese Weise können wir zu einem späteren Zeitpunkt ein Wildcard-SSL-Zertifikat ausstellen.

Die Details unserer Maschinen finden Sie hier:

Hostname IP Address Role

server1.example.com

192.0.2.1

bootstrap consul server

server2.example.com

192.0.2.2

consul server

server3.example.com

192.0.2.3

consul server

agent1.example.com

192.0.2.50

consul client

Wir werden 64-Bit-Server mit Ubuntu 14.04 für diese Demonstration verwenden, aber jeder moderne Linux-Server sollte genauso gut funktionieren. Wenn die Konfiguration abgeschlossen ist, sollten Sie über ein System verfügen, mit dem Sie auf einfache Weise Dienste, Prüfungen und Knoten hinzufügen können.

Melden Sie sich bei Ihren Computern als Root-Benutzer an, um die Schritte in diesem Handbuch auszuführen.

Consul herunterladen und installieren

Wenn Sie consul noch nicht in link: [die erste Einführung in consul guide] installiert haben, müssen Sie dies jetzt tun. Wir werden consul auf jeder der vier Maschinen, die wir konfigurieren, als Anwendung auf Systemebene installieren.

Bevor wir uns die Konsul-Anwendung ansehen, müssen wir "+ unzip " holen, um die ausführbare Datei zu extrahieren. Aktualisieren Sie den Cache des lokalen Systempakets und installieren Sie das Paket mit ` apt +`:

apt-get update
apt-get install unzip

Jetzt können wir uns um das Konsul-Programm kümmern. Die consul project’s page enthält Download-Links zu Binärpaketen für Windows, OS X und Linux.

Gehen Sie zur obigen Seite und klicken Sie mit der rechten Maustaste auf das Betriebssystem und die Architektur, die Ihre Server darstellen. Da wir in diesem Handbuch 64-Bit-Server verwenden, verwenden wir den Link „amd64“ unter „Linux“. Wählen Sie "Linkspeicherort kopieren" oder eine ähnliche Option, die Ihr Browser anbietet.

Wechseln Sie in Ihrem Terminal in das Verzeichnis "+ / usr / local / bin", in dem die ausführbare Datei gespeichert wird. Geben Sie "+ wget +" und ein Leerzeichen ein und fügen Sie die URL ein, die Sie von der Site kopiert haben:

cd /usr/local/bin
wget

Jetzt können wir das Binärpaket mit dem Befehl + unzip + extrahieren, den wir zuvor installiert haben. Wir können dann die gezippte Datei entfernen:

unzip *.zip
rm *.zip

Sie sollten jetzt den Befehl "+ consul +" auf allen Ihren Servern verfügbar haben.

Erstellen Sie das erforderliche Verzeichnis und die Systemstruktur

Mit dem Befehl + consul + können wir consul einfach und unstrukturiert ausprobieren. Auf diese Weise können Sie einige Funktionen testen. Wir haben dies in der letzten Anleitung getan, um uns mit der Software vertraut zu machen.

Wir werden jedoch versuchen, ein zuverlässigeres System einzurichten, das einfacher zu verwalten ist. Daher werden wir eine gewisse Struktur schaffen, damit dies funktioniert. Führen Sie die folgenden Schritte auf jedem Ihrer Computer (Server und Clients) aus.

Das erste, worauf wir achten sollten, ist, einen Benutzer zu erstellen, der auf unsere Aufgabe zugeschnitten ist. Dies ist ein Standardfall für die Trennung von Benutzerrechten. Daher führen wir unsere Konsulprozesse mit einem dedizierten Benutzer aus.

Erstellen Sie den Benutzer jetzt, indem Sie Folgendes eingeben:

adduser consul

Sie können alle Eingabeaufforderungen überspringen (möglicherweise möchten Sie ein Kennwort festlegen). Es wird sich sonst beschweren), wenn Sie möchten.

Als Nächstes erstellen wir die Konfigurationshierarchie, in der die verschiedenen Konfigurationen enthalten sind, die wir verwenden, je nachdem, wie wir den Service starten möchten. Um dies zu vereinfachen, erstellen wir ein übergeordnetes Verzeichnis "+ consul.d " in der Konfigurationsstruktur " / etc " und legen auf jedem System die Unterverzeichnisse " bootstrap ", " server " und " client +" darunter :

mkdir -p /etc/consul.d/{bootstrap,server,client}

Wir können unsere Konfigurationen später in jede dieser Konfigurationen einfügen. Jeder Server wird wahrscheinlich höchstens zwei dieser Verzeichnisse verwenden, aber wir werden die Struktur für die Konsistenz auf jedem Host erstellen.

Wir müssen auch einen Speicherort erstellen, an dem consul dauerhafte Daten zwischen Neustarts speichern kann. Zu diesem Zweck erstellen wir ein Verzeichnis unter "+ / var / consul " und geben es dem Benutzer " consul +", damit er die Daten verwalten kann:

mkdir /var/consul
chown consul:consul /var/consul

Mit dieser Struktur sollten wir in der Lage sein, unsere Konfigurationsdateien zu erstellen.

Erstellen der Bootstrap-Konfiguration

Die erste Konfiguration, die wir erstellen müssen, dient dem Bootstrapping des Clusters. Dies ist kein alltägliches Ereignis, da es nur zum erstmaligen Erstellen des Clusters erforderlich ist. Wir werden jedoch die Konfigurationsdatei erstellen, damit wir im Falle eines vollständigen Ausfalls des Clusters schnell wieder loslegen können.

Sie können diese Konfigurationsdatei nur auf einem Ihrer Consul-Server oder auf allen Servern ablegen, um mehr Optionen für das Bootstrapping zu erhalten. Wir werden es nur für diese Demonstration auf "+ server1 +" setzen.

Die Konfigurationsdateien werden in einfachem JSON gespeichert, sodass sie recht einfach zu verwalten sind. Erstellen Sie die erste Datei im Unterverzeichnis + bootstrap +:

nano /etc/consul.d/bootstrap/config.json

In dieser Datei können wir zunächst festlegen, dass consul bei Verwendung dieser Konfiguration als Server im Bootstrap-Modus gestartet werden soll:

{
   "bootstrap": true,
   "server": true
}

Wir sollten auch das Datencenter angeben, in dem sich unser Cluster befindet. Dies kann ein beliebiger Name sein, mit dem Sie den physischen Standort des Clusters identifizieren können. Consul ist datenzentrumsbezogen und diese Bezeichnungen helfen Ihnen, die verschiedenen Cluster nach Datenzentren zu organisieren.

Wir können auch das Datenverzeichnis übergeben, das wir unter + / var / consul + erstellt haben. Consul speichert auf diese Weise Informationen zum Clusterstatus:

{
   "bootstrap": true,
   "server": true,
   "datacenter": "nyc2",
   "data_dir": "/var/consul"
}

Als Nächstes möchten wir eine Verschlüsselung für das Whisper-Protokoll implementieren, das consul verwendet. Diese Funktionalität ist in einem gemeinsamen geheimen System integriert. Das Geheimnis muss eine 16-Bit-Base-64-codierte Zeichenfolge sein. Um einen für diesen Wert geeigneten Wert zu erhalten, wird die Datei vorübergehend geschlossen.

Im Terminal können wir den Befehl "+ consul +" verwenden, um einen Schlüssel mit der erforderlichen Länge und Kodierung zu generieren. Art:

consul keygen

Kopieren Sie den generierten Wert und öffnen Sie die Konfigurationsdatei erneut:

nano /etc/consul.d/bootstrap/config.json

Verwenden Sie die kopierte Zeichenfolge als Wert für den Parameter "+ encrypt +":

{
   "bootstrap": true,
   "server": true,
   "datacenter": "nyc2",
   "data_dir": "/var/consul",
   "encrypt": ""
}

Abschließend fügen wir einige zusätzliche Informationen hinzu, um die Protokollierungsstufe anzugeben und anzugeben, dass syslog für die Protokollierung verwendet werden soll:

{
   "bootstrap": true,
   "server": true,
   "datacenter": "nyc2",
   "data_dir": "/var/consul",
   "encrypt": "X4SYOinf2pTAcAHRhpj7dA==",
   "log_level": "INFO",
   "enable_syslog": true
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Erstellen der regulären Serverkonfiguration

Nachdem wir unsere Bootstrap-Konfiguration abgeschlossen haben, können wir sie als Grundlage für unsere allgemeine Serverkonfiguration verwenden. Die Serverkonfiguration wird verwendet, sobald der Cluster gebootet ist.

Beginnen Sie, indem Sie die Bootstrap-Datei von "+ server1 +" in das Server-Unterverzeichnis auf diesem Computer kopieren, um sie zu bearbeiten:

cp /etc/consul.d/bootstrap/config.json /etc/consul.d/server

Öffnen Sie die Datei, um die erforderlichen Änderungen vorzunehmen:

nano /etc/consul.d/server/config.json

Zu Beginn müssen wir das Bootstrap-Flag deaktivieren, da diese Konfiguration für Nicht-Bootstrap-Konfigurationen vorgesehen ist.

Das Einzige, was wir für die Serverkonfiguration ändern müssen, ist die Angabe der IP-Adressen des anderen Servers, zu denen dieser Knoten beim Start beitreten soll. Dadurch wird der Beitritt automatisch erledigt, sodass wir nach dem Start unseres Servers nicht manuell dem Cluster beitreten müssen:

{
   "bootstrap": ,
   "server": true,
   "datacenter": "nyc2",
   "data_dir": "/var/consul",
   "encrypt": "X4SYOinf2pTAcAHRhpj7dA==",
   "log_level": "INFO",
   "enable_syslog": true,
   "start_join": ["", ""]
}

Der "+ encrypt +" - Parameter muss für alle Systemteilnehmer gleich sein. Das Kopieren der Datei hat sich also bereits um diese Anforderung gekümmert. Beachten Sie dies, wenn Sie neue Konfigurationen erstellen.

Speichern Sie die Datei, wenn Sie fertig sind.

Sie sollten den Inhalt dieser Konfigurationsdatei auf die anderen Computer kopieren, die als Ihre Consul-Server fungieren. Platzieren Sie sie in einer Datei unter "+ /etc/consul.d/server/config.json", genau wie Sie es auf dem ersten Host getan haben.

Der einzige Wert, den Sie auf den anderen Hosts ändern müssen, sind die IP-Adressen, zu denen versucht werden soll, eine Verbindung herzustellen. Sie sollten sicherstellen, dass es versucht, eine Verbindung zum ersten Server anstelle seiner eigenen IP-Adresse herzustellen. Der zweite Server in unserem Beispiel würde beispielsweise eine Datei haben, die so aussieht:

{
   "bootstrap": false,
   "server": true,
   "datacenter": "nyc2",
   "data_dir": "/var/consul",
   "encrypt": "X4SYOinf2pTAcAHRhpj7dA==",
   "log_level": "INFO",
   "enable_syslog": true,
   "start_join": ["", "192.0.2.3"]
}

Speichern und schließen Sie die von Ihnen erstellten Dateien, wenn Sie fertig sind.

Erstellen der Client-Konfiguration

Jetzt sind alle Serverkonfigurationen abgeschlossen. Wir können uns darauf konzentrieren, unseren Client-Computer mit einer korrekten Konfiguration zum Laufen zu bringen.

Öffnen Sie eine Konfigurationsdatei unter dem Client-Unterverzeichnis auf dem Client-Computer:

nano /etc/consul.d/client/config.json

Wir werden wieder eine vorherige Konfiguration als Basis für unsere neue Konfiguration verwenden. Kopieren Sie den Inhalt einer der Serverdateien in diese Datei.

Wir werden zunächst alle Erwähnungen des Parameters "+ bootstrap " entfernen, da dies nur für Serverkonfigurationen gilt und der Parameter " server +" auf "false" geändert wird.

Als Nächstes fügen wir einen Parameter hinzu, der den Speicherort des Web-UI-Verzeichnisses angibt. Die dafür notwendigen Dateien werden wir in Kürze beschaffen. Der Ort, an dem sie wohnen werden, ist "+ / home / consul / dist +".

Schließlich möchten wir den Parameter "+ start_join +" anpassen, um alle unsere Server aufzulisten:

{
   "server": ,
   "datacenter": "nyc2",
   "data_dir": "/var/consul",

   "encrypt": "X4SYOinf2pTAcAHRhpj7dA==",
   "log_level": "INFO",
   "enable_syslog": true,
   "start_join": ["", "", ""]
}

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Herunterladen der Web-UI-Dateien

Nachdem wir den Client so konfiguriert haben, dass er die Web-Benutzeroberfläche bedient, müssen wir die tatsächlichen Dateien abrufen, mit denen dies möglich ist.

Klicken Sie auf der Consul-Website mit der rechten Maustaste auf den Link zur Web-Benutzeroberfläche consul, und wählen Sie "Linkspeicherort kopieren" oder eine ähnliche Option aus.

Verwenden Sie auf dem Client "+ su ", um der " consul +" - Benutzer zu werden. Wir werden das Web-Verzeichnis im Home-Verzeichnis des Benutzers einrichten.

su consul
cd ~

Geben Sie nun "+ wget +" gefolgt von einem Leerzeichen ein und fügen Sie den Link ein, den Sie für den Download der Web-Benutzeroberfläche kopiert haben. Zum Zeitpunkt dieses Schreibens wird es so aussehen:

wget

Entpacken Sie die heruntergeladene Datei und entfernen Sie die Zip-Datei:

unzip *.zip
rm *.zip

Dadurch wird ein Verzeichnis mit dem Namen "+ dist +" in Ihrem Ausgangsverzeichnis erstellt. Dies ist das Verzeichnis, auf das der Web-UI-Parameter in der Konfigurationsdatei verwiesen wurde.

Bevor wir fortfahren, sollten Sie die Sitzung des Konsulnutzers beenden, um zur Stammsitzung zurückzukehren:

exit

Erstellen Sie ein Upstart-Skript

Wir haben jetzt unsere Konfigurationsdateien an Ort und Stelle. Als nächstes können wir uns auf die Erstellung eines Upstart-Skripts konzentrieren, damit unsere Consul-Instanzen beim Booten automatisch gestartet und bei Problemen neu gestartet werden.

Da das Bootstrapping eines Clusters nicht häufig durchgeführt werden muss (in den meisten Fällen bleibt der Cluster selbst bestehen und ein einzelner Knoten muss möglicherweise neu gestartet und dem Cluster wieder beigetreten werden), wird das Bootstrapping in das Upstart-Skript nicht berücksichtigt. Wir zeigen Ihnen in Kürze, wie Sie diesen Vorgang manuell abschließen können.

Unser Upstart-Skript wird auf unseren Servern und auf dem Client ähnlich sein. Erstellen Sie auf einem der Consul-Server eine Datei im Verzeichnis "+ / etc / init +", die Ihre Consul-Konfiguration enthält:

nano /etc/init/consul.conf

Wir kopieren den Inhalt dieser Datei auf die anderen Server und verwenden ihn dann auch als Grundlage für unsere Client-Konfiguration. Innerhalb dieser Datei besteht die erste Aufgabe darin, eine Beschreibung des Prozesses zu erstellen. Auf unseren Servern verwenden wir:

description "Consul server process"

Als nächstes legen wir die Bedingungen fest, unter denen der Prozess gestartet wird. Für diesen Dienst soll der Dienst gestartet werden, wenn das lokale Dateisystem bereitgestellt wird und wenn die öffentliche Netzwerkschnittstelle ausgeführt wird.

Wir möchten auch festlegen, wann der Prozess angehalten werden soll. Unter Verwendung der standard Linux runlevels können wir festlegen, dass der Prozess angehalten werden soll, wenn er sich nicht in einem der normalen Betriebsmodi befindet (Anhalten des Prozesses beim Anhalten oder Neustarten) der Server):

description "Consul server process"

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]

Wir können das init-System anweisen, den Prozess neu zu starten, falls er jemals unerwartet abstürzt. Wir möchten auch den Benutzer und die Gruppe angeben, unter denen der Prozess ausgeführt werden soll. Denken Sie daran, wir haben den Benutzer und die Gruppe consul erstellt, um den Prozess zu isolieren:

description "Consul server process"

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]

respawn

setuid consul
setgid consul

Schließlich müssen wir den tatsächlichen Befehl bereitstellen, den wir ausführen möchten. Dies ist einfach der Befehl "+ consul +", der im Agentenmodus ausgeführt wird. Wir übergeben das Verzeichnis, das unsere Serverkonfigurationsspezifikationen enthält, als Argument an den Befehl:

description "Consul server process"

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]

respawn

setuid consul
setgid consul

exec consul agent -config-dir /etc/consul.d/server

Speichern Sie die Datei, wenn Sie fertig sind.

Kopieren Sie den Inhalt dieser Datei in eine Datei mit dem Namen "+ / etc / init / consul.conf +" auf jedem Ihrer Server und auch auf dem Client.

Auf dem Client müssen wir die Datei nur ein wenig ändern. Wir sollten die Beschreibung ändern, um darauf hinzuweisen, dass dies ein Client-Computer ist. Wir müssen auch das Konfigurationsverzeichnis ändern, das an den eigentlichen Befehl "+ consul +" übergeben wird.

Die Enddatei sollte ungefähr so ​​aussehen:

description "Consul  process"

start on (local-filesystems and net-device-up IFACE=eth0)
stop on runlevel [!12345]

respawn

setuid consul
setgid consul

exec consul agent -config-dir /etc/consul.d/

Speichern und schließen Sie die Datei, wenn Sie fertig sind.

Erste Schritte mit einem Cluster

Jetzt haben wir alles, um einen Konsul-Cluster schnell zum Laufen zu bringen. Der Vorgang ist relativ einfach.

Verwenden Sie auf einem Server, der die Bootstrap-Konfigurationsdatei enthält (in unserem Fall) + su +, um kurz zum Konsul-Benutzer zu wechseln. Wir können dann consul anrufen und das Bootstrap-Verzeichnis als Argument übergeben:

su consul
consul agent -config-dir /etc/consul.d/bootstrap

Der Dienst sollte gestartet werden und das Terminalfenster belegen. Im Bootstrap-Modus wählt sich dieser Server selbst zum Leader und schafft so eine Grundlage für die Bildung des Clusters.

Starten Sie auf Ihren anderen Consul-Servern als Root den Consul-Dienst, den wir gerade mit dem Upstart-Skript erstellt haben, indem Sie Folgendes eingeben:

start consul

Diese Server stellen eine Verbindung zum Bootstrap-Server her und vervollständigen den Cluster. Zu diesem Zeitpunkt besteht ein Cluster aus drei Servern, von denen zwei normal funktionieren und einer sich im Bootstrap-Modus befindet. Dies bedeutet, dass ausführende Entscheidungen getroffen werden können, ohne die anderen Server zu konsultieren.

Das wollen wir nicht. Wir wollen, dass alle Server gleichberechtigt sind. Nachdem der Cluster erstellt wurde, können wir die Bootstrapped-Consul-Instanz herunterfahren und den Cluster als normalen Server erneut betreten.

Drücken Sie dazu im Terminal des Bootstrap-Servers die Tastenkombination "+ STRG-C +":

CTRL-C

Kehren Sie jetzt in Ihre Stammsitzung zurück und starten Sie den Konsulendienst wie bei den anderen Servern:

exit
start consul

Dies führt dazu, dass der zuvor gebootete Server mit nicht erhöhten Rechten dem Cluster beitritt und den Cluster in den Endzustand versetzt.

Nachdem der Cluster voll funktionsfähig ist, können Clientcomputer eine Verbindung herstellen. Gehen Sie auf dem Client-Computer genauso vor wie auf root:

start consul

Der Client stellt als Client eine Verbindung zum Cluster her. Sie können die Mitglieder des Clusters (Server und Clients) anzeigen, indem Sie Consul auf einem der Computer nach seinen Mitgliedern fragen:

consul members
Node     Address             Status  Type    Build  Protocol
server3  192.0.2.3:8301  alive   server  0.3.0  2
server2  192.0.2.2:8301  alive   server  0.3.0  2
server1  192.0.2.1:8301  alive   server  0.3.0  2
agent1   192.0.2.50:8301    alive   client  0.3.0  2

Herstellen einer Verbindung mit der Webbenutzeroberfläche

Wir haben unseren Clientcomputer so konfiguriert, dass er eine Webschnittstelle für den Cluster hostet. Dies wird jedoch auf der lokalen Schnittstelle bereitgestellt, was bedeutet, dass wir über die öffentliche Schnittstelle des Geräts nicht darauf zugreifen können.

Um Zugriff auf die Web-Benutzeroberfläche zu erhalten, erstellen wir einen SSH-Tunnel zum Client-Computer, der die Benutzeroberflächendateien enthält. Consul bedient die HTTP-Schnittstelle an Port 8500. Wir werden unseren lokalen Port 8500 auf den Port 8500 des Client-Computers tunneln. Geben Sie auf Ihrem lokalen Computer Folgendes ein:

ssh -N -f -L 8500:localhost:8500 root@

Dadurch wird eine Verbindung zum Remote-Computer hergestellt, ein Tunnel zwischen unserem lokalen Port und dem Remote-Port erstellt und die Verbindung in den Hintergrund gestellt.

In Ihrem lokalen Webbrowser können Sie jetzt auf die Weboberfläche von consul zugreifen, indem Sie Folgendes eingeben:

http://localhost:8500

Dies gibt Ihnen die Standard-Web-UI-Seite:

Bild: https://assets.digitalocean.com/articles/consul_intro/consul_default.png [Zielseite der Web-Benutzeroberfläche von Consul]

Über diese Schnittstelle können Sie den Zustand Ihrer Server überprüfen und sich einen Überblick über Ihre Dienste und Infrastruktur verschaffen.

Wenn Sie die Web-Benutzeroberfläche nicht mehr verwenden, können Sie den SSH-Tunnel schließen. Suchen Sie nach der PID-Nummer des Prozesses mit dem Befehl "+ ps " und " grep +", um nach der von uns weitergeleiteten Portnummer zu suchen:

ps aux | grep 8500
1001        0.0  0.0  43900  1108 ?        Ss   12:03   0:00 ssh -N -f -L 8500:localhost:8500 [email protected]
1001      5309  0.0  0.0  13644   948 pts/7    S+   12:12   0:00 grep --colour=auto 8500

Die in der obigen Ausgabe hervorgehobene Nummer (in der Zeile, die den von uns verwendeten Tunnelbefehl enthält) ist die gesuchte PID-Nummer. Wir können dies dann an den Befehl "+ kill +" übergeben, um den Tunnel zu schließen:

kill

Fazit

Sie sollten nun eine stabile Möglichkeit haben, Ihre Konsul-Mitglieder zu verwalten. Der Konsul-Cluster kann schnell und einfach gebootet und gestartet werden. Zusätzliche Knoten können schnell konfiguriert werden, indem die Konfigurationsdateien (consul config und upstart script) der vorhandenen Server kopiert werden.

Obwohl wir unsere Konsul-Umgebung jetzt so eingerichtet haben, dass wir unsere Dienste problemlos verwalten können, haben wir unsere Kommunikation noch nicht vollständig gesichert. In der folgenden Anleitung https://www.digitalocean.com/community/tutorials/how-to-secure-consul-with-tls-encryption-on-ubuntu-14-04] werden wir uns auf die Einrichtung konzentrieren SSL-Zertifikat-Validierung, um die RPC-Kommunikation unserer Mitglieder zu verschlüsseln und zu validieren.