Installation · 7 min read · Sep 10, 2025

Wie man den Consul-Server auf AlmaLinux 9 installiert

Consul ist eine moderne Plattform für die Dienstentdeckung, die es Ihnen ermöglicht, Dienste über DNS und HTTP-Schnittstelle zu registrieren. Es bietet auch eine Service-Mesh-Funktion, die sichere Verbindungen über TLS ermöglicht und die Autorisierung zwischen Diensten bereitstellt. Darüber hinaus bietet Consul auch ein API-Gateway zur Verwaltung des Zugriffs auf Dienste und einen KV (Key/Value)-Speicher zur Speicherung der Dienstkonfiguration.

In diesem Leitfaden führen wir Sie Schritt für Schritt durch die Installation eines Consul-Clusters mit mehreren Servern auf AlmaLinux 9.

Voraussetzungen

Um diesen Leitfaden abzuschließen, stellen Sie sicher, dass Sie Folgendes haben:

  • Zwei oder mehr AlmaLinux-Server im selben Netzwerk.
  • Einen Nicht-Root-Benutzer mit Administratorrechten.

System einrichten

In diesem ersten Schritt bereiten Sie Ihre AlmaLinux-Server für die Consul-Installation vor, was Folgendes umfasst:

  • Konfigurieren von Firewalld zum Öffnen von Ports.
  • Konfigurieren von SELinux auf den permissiven Modus.

Firewalld konfigurieren

Bevor Sie Pakete installieren, müssen Sie die Ports auf Ihren Consul-Servern öffnen. Da es sich um ein RHEL-basiertes Betriebssystem handelt, verwenden Sie Firewalld, um die Ports zu öffnen.

Führen Sie den folgenden Befehl aus, um die Ports 8300, 8301, 8302, 8400, 8500 und 8600 auf Ihren AlmaLinux-Servern zu öffnen. Bei Erfolg sollten Sie eine Ausgabe wie Erfolg erhalten.

sudo firewall-cmd --permanent --zone=public --add-port={8300,8301,8302,8400,8500,8600}/tcp

Laden Sie nun die Firewalld mit dem folgenden Befehl neu, um die Änderungen wirksam zu machen.

sudo firewall-cmd --reload

Überprüfen Sie schließlich Ihre Firewalld-Regeln mit dem folgenden Befehl. Stellen Sie sicher, dass die Ports 8300, 8301, 8302, 8400, 8500, 8600 auf Ihrer Firewalld verfügbar sind.

sudo firewall-cmd --zone=public --list-all

setup firewalld

SELinux auf permissiv ändern

Nachdem Sie Firewalld konfiguriert haben, ändern Sie den Standard-SELinux-Modus auf permissiv. Dies wird Fehlerprotokolle auf SELinux generieren, ohne die Aktion zu blockieren.

Führen Sie den folgenden Befehl aus, um den SELinux-Modus auf permissiv zu ändern.

sudo setenforce 0  
sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config

Starten Sie dann Ihre Server neu, um die Änderungen wirksam zu machen.

sudo reboot

Jetzt, da Sie alle Ihre AlmaLinux-Server konfiguriert haben, können Sie mit der Installation von Consul beginnen.

Consul über DNF installieren

Consul ist eine Plattform für die Dienstvernetzung, die mehrere Betriebssysteme unterstützt. Außerdem bietet Consul ein Paket-Repository für Linux-Distributionen, einschließlich RHEL-basierter Distributionen. In diesem Schritt installieren Sie Consul aus dem Consul-Repository über DNF.

Um zu beginnen, installieren Sie einige grundlegende Pakete, indem Sie den folgenden Befehl ausführen. Geben Sie y ein, um mit der Installation fortzufahren.

sudo dnf install dnf-plugins-core nano

install basic packages

Führen Sie nun den DNF-Befehl unten aus, um das Consul-Repository zu Ihren AlmaLinux-Servern hinzuzufügen. Überprüfen Sie dann die Liste der verfügbaren Repositories auf jedem Server.

sudo dnf config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo  
sudo dnf repolist

Die folgende Ausgabe beweist, dass Sie das HashiCorp-Repository zu Ihren Systemen hinzugefügt haben.

add hoshicorp repo

Installieren Sie als Nächstes Consul, indem Sie den folgenden Befehl ausführen. Geben Sie y ein, um mit der Consul-Installation fortzufahren.

sudo dnf install consul

install consul

Nachdem Sie die Installation abgeschlossen haben, führen Sie den folgenden Befehl aus, um die Konsul-Binärdatei zu finden und ihre Version zu überprüfen.

which consul  
consul version

Die folgende Ausgabe bestätigt, dass die Consul-Binärdatei unter /bin/consul verfügbar ist und die aktuelle Consul-Version 1.17 beträgt.

Consul konfigurieren

An diesem Punkt haben Sie Consul auf allen Ihren AlmaLinux-Servern installiert. Lassen Sie uns mit der Konfiguration des Consul-Clusters mit mehreren Servern fortfahren. Zu Illustrationszwecken verwenden wir drei AlmaLinux-Server.

|  Hostname  |    IP-Adresse   |  
| ---------  |  -------------- |  
|  consul1   |  192.168.10.41  |  
|  consul2   |  192.168.10.42  |  
|  consul3   |  192.168.10.43  |

Zuerst stoppen Sie den Consul-Dienst auf jedem Server, indem Sie den folgenden Befehl ausführen.

sudo systemctl stop consul

Wechseln Sie zum Server consul1 und führen Sie den folgenden Befehl aus, um einen neuen Schlüssel für den Consul-Cluster zu generieren. Stellen Sie sicher, dass Sie den generierten Schlüssel aufbewahren.

consul keygen

Öffnen Sie auf allen Ihren Consul-Servern die Standard-Consul-Konfiguration /etc/consul.d/consul.hcl mit dem folgenden Befehl im Nano-Editor.

sudo nano /etc/consul.d/consul.hcl

Ändern Sie die Standardkonfiguration wie folgt und beachten Sie einige Parameter unten:

  • server: True bedeutet, dass der Knoten als Consul-Server fungiert.
  • advertise_addr: Ändern Sie dies mit der entsprechenden IP-Adresse des Consul-Servers.
  • bootstrap_expect: Wie viele Server wird Ihr Cluster haben?
  • encrypt: Jeder Server muss denselben Schlüssel haben.
  • retry_join: Geben Sie die IP-Adressen des Consul-Clusters in dieses Parameter ein.
# Vollständige Konfigurationsoptionen finden Sie unter https://www.consul.io/docs/agent/config  
  
# datacenter  
datacenter = "kitty-dc1"  
  
# data_dir  
# Dieses Flag bietet ein Datenverzeichnis für den Agenten zur Speicherung des Status.   
data_dir = "/opt/consul"  
  
# client_addr  
# Die Adresse, an die Consul Client-Schnittstellen, einschließlich der HTTP- und DNS-  
# Server, binden wird.  
client_addr = "0.0.0.0"  
  
# ui  
# Aktiviert den integrierten Web-UI-Server und die erforderlichen HTTP-Routen.  
ui_config{  
  enabled = true  
}  
  
# Standarddomäne  
domain = "consul"  
  
# dns_config aktivieren  
dns_config{  
  enable_truncate = true  
  only_passing = true  
}  
  
# server  
# Dieses Flag wird verwendet, um zu steuern, ob ein Agent im Server- oder Client-Modus ist. Wenn angegeben,  
# fungiert ein Agent als Consul-Server. Jeder Consul-Cluster muss mindestens einen  
# Server haben und idealerweise nicht mehr als 5 pro Rechenzentrum. Alle Server nehmen am Raft  
# Konsensalgorithmus teil, um sicherzustellen, dass Transaktionen in einer konsistenten, linearisierbaren  
# Weise erfolgen. Transaktionen ändern den Clusterstatus, der auf allen Serverknoten verwaltet wird, um  
# die Verfügbarkeit im Falle eines Knotenausfalls sicherzustellen. Serverknoten nehmen auch an einem  
# WAN-Gossip-Pool mit Serverknoten in anderen Rechenzentren teil. Server fungieren als Gateways zu  
# anderen Rechenzentren und leiten den Verkehr entsprechend weiter.  
server = true  
  
# Advertise addr - wenn Sie Clients auf eine andere Adresse als Bind oder LB verweisen möchten.  
advertise_addr = "192.168.10.41"  
  
# bootstrap_expect  
# Dieses Flag gibt die Anzahl der erwarteten Server im Rechenzentrum an.  
bootstrap_expect=3  
  
# encrypt  
# Gibt den geheimen Schlüssel an, der zur Verschlüsselung des Consul-Netzwerkverkehrs verwendet werden soll.  
encrypt = "jFtV8jj4h1hnXGqTllWH+sOqLo/tw9xnnfDHcVxVnYg="  
  
# retry_join  
retry_join = ["192.168.10.41", "192.168.10.42", "192.168.10.43"]

Speichern Sie die Datei und beenden Sie den Editor, wenn Sie fertig sind.

Führen Sie als Nächstes den folgenden Befehl aus, um die Consul-Konfigurationen zu überprüfen. Wenn Sie die richtige Syntax haben, sollten Sie eine Ausgabe wie ‘Konfiguration ist gültig‘ erhalten.

sudo consul validate /etc/consul.d/

validate consul

Führen Sie nun den folgenden Befehl aus, um den Consul-Dienst zu starten und zu aktivieren.

sudo systemctl start consul  
sudo systemctl enable consul

Überprüfen Sie dann den Consul mit dem folgenden Befehl, um sicherzustellen, dass der Dienst läuft.

sudo systemctl status consul

In der folgenden Ausgabe sollten Sie sehen, dass Consul auf dem Server consul1 läuft.

consul1 running

In der folgenden Ausgabe sollten Sie sehen, dass Consul auf dem Server consul2 läuft.

consul2 runningh

In der folgenden Ausgabe sollten Sie sehen, dass Consul auf dem Server consul3 läuft.

consul3 running

Interaktion mit dem Consul-Cluster

Jetzt, da Sie den Consul-Cluster auf den AlmaLinux-Servern konfiguriert haben, können Sie den Consul-Cluster über die Konsul-Befehlszeile überprüfen und interagieren.

Überprüfen des Consul-Clusters

Führen Sie den folgenden Befehl aus, um die verfügbaren Consul-Server innerhalb des Clusters zu überprüfen.

consul members

In diesem Beispiel besteht der Consul-Cluster aus drei Servern: consul1, consul2 und consul3.

Sie können auch die Liste der Peers im Cluster mit dem folgenden Befehl überprüfen.

consul operator raft list-peers

Unten sehen Sie detaillierte Informationen zu jedem Consul-Server, einschließlich der ID, des Status, des Wählers und der RaftProtocol-Version.

Hinzufügen eines KV (Key-Value) Speichers zu Consul

Führen Sie als Nächstes den folgenden Konsul-Befehl aus, um eine neue Schlüssel-Wert-Datenbank zu erstellen. In diesem Beispiel erstellen Sie einen neuen Schlüssel db_name mit dem Wert testdb.

consul kv put consul/configuration/db_name testdb

Führen Sie nun den folgenden Befehl aus, um den Wert für db_name abzurufen.

consul kv get consul/configuration/db_name

Sie sollten den Wert testdb wie folgt erhalten:

add kv consul

Interaktion mit DNS auf Consul

In diesem Leitfaden haben Sie den Consul-DNS aktiviert. Um die Consul-DNS-Konfiguration zu überprüfen, verwenden Sie den folgenden dig-Befehl.

dig @127.0.0.1 -p 8600 consul.service.consul

In diesem Beispiel haben Sie die Consul-Server innerhalb des Clusters mit demselben Domänennamen wie consul konfiguriert. Das folgende bestätigt, dass die Domäne consul.service.consul mit A-Records 192.168.10.41, 192.168.10.42, 192.168.10.43.

consul dns

Zugriff auf die Consul-Web-UI (Benutzeroberfläche)

Öffnen Sie schließlich Ihren Webbrowser und besuchen Sie die IP-Adresse des Consul-Servers mit Port 8500, z.B.: http://192.168.10.41:8500/ui/, um das Web-Administrations-Dashboard von Consul zu erhalten.

Unten sollten Sie die verfügbaren Server im Consul-Cluster sehen.

consul web ui

Klicken Sie nun auf das Menü Nodes, um detaillierte Informationen zu jedem Server zu erhalten.

list nodes

Klicken Sie dann auf das Menü Key/Value, um die Liste der verfügbaren KVs auf Ihren Consul-Servern zu erhalten.

check kv

Fazit

Zusammenfassend haben Sie die Schritt-für-Schritt-Installation des Consul-Clusters mit drei AlmaLinux-Servern abgeschlossen. Sie haben die Consul-Web-UI und den Consul-DNS innerhalb des Clusters aktiviert. Schließlich haben Sie auch einige grundlegende Befehle zum Interagieren mit Consul-Clustern, Schlüssel-Wert-Speichern und DNS gelernt.

Von hier aus können Sie nun die ACLs (Access Control Lists) aktivieren und TLS für Verbindungen zwischen Consul-Servern und Clients implementieren.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.