Website-Suche

So installieren und konfigurieren Sie einen Ansible-Kontrollknoten – Teil 2


Im vorherigen Thema erfahren Sie mehr über grundlegende Ansible-Terminologien und Grundkonzepte. In diesem Thema (Teil 2 der Ansible-Reihe) zeigen wir, wie Sie einen Ansible-Kontrollknoten auf RHEL 8 installieren und konfigurieren können.

In unserem Setup werden wir 1 Ansible-Server und 2 Remote-Linux-Knoten verwenden:

Control Node 1: RHEL 8 Server     IP: 192.168.0.108         Ansible Server
Managed Host 1: Debian 10         IP: 192.168.0.15          Webserver
Managed Host 2: CentOS 8          IP: 192.168.0.200	    Database Server

Was ist ein Ansible-Kontrollknoten?

Ein Kontrollknoten ist ein Linux-Server, auf dem Ansible installiert ist und der zur Verwaltung von Remote-Hosts oder -Knoten verwendet wird. Diese Remote-Systeme werden als Managed Hosts oder Managed Nodes bezeichnet.

Im obigen Setup ist der Kontrollknoten der RHEL 8-Server, auf dem Ansible und Debian 10 & CentOS 8< installiert werden sind die verwalteten Hosts.

HINWEIS: Ansible wird nur auf dem Kontrollknoten installiert und nicht auf den verwalteten Hosts.

Schritt 1: Python 3 installieren

Standardmäßig wird RHEL 8 mit Python 3 geliefert und Sie können die auf Ihrem Server installierte Version von Python durch Ausführen überprüfen.

python3 -V

Wenn Python3 aus irgendeinem Grund nicht installiert ist, installieren Sie es mit dem folgenden DNF-Befehl.

dnf install python3

Wenn auf Ihrem RHEL 8-System mehrere Versionen von Python vorhanden sind, können Sie Python 3 als Standardversion von Python festlegen durch Laufen.

alternatives --set python /usr/bin/python3

Schritt 2: Aktivieren Sie das offizielle RedHat-Repository

Stellen Sie nach der Installation von Python3 sicher, dass Sie das offizielle RedHat-Repository für Ansible aktiviert haben, wie unten gezeigt.

subscription-manager repos --enable ansible-2.8-for-rhel-8-x86_64-rpms

HINWEIS: Damit der obige Befehl funktioniert, stellen Sie sicher, dass Sie Ihr RHEL 8 für RedHat-Abonnement registriert haben.

Schritt 3: Installieren Sie Ansible auf RHEL 8

Um Ansible auf dem Kontrollknoten zu installieren, der unser RHEL 8-System ist, führen Sie den Befehl aus.

dnf install ansible -y

Nach der Installation können Sie die installierte Version von Ansible überprüfen, indem Sie den Befehl ausführen.

ansible --version

Schritt 4: Erstellen einer statischen Host-Inventardatei

Bisher haben wir ansible erfolgreich auf dem Control Node installiert, bei dem es sich um unseren RHEL 8-Server handelt. Die vom Kontrollknoten zu verwaltenden Remote-Knoten müssen in einer Datei namens Inventory-Datei definiert werden. Die Inventardatei ist eine reine Textdatei, die sich auf dem Kontrollknoten befindet und aus den Hostnamen oder IP-Adressen der Remote-Hosts besteht.

Eine statische Hostdatei ist eine reine Textdatei, die eine Liste verwalteter Knoten enthält, die durch ihre IP-Adressen oder Hostnamen definiert sind. Erstellen wir eine statische Datei „hosts“ im Verzeichnis /etc/ansible/.

vi /etc/ansible/hosts

Definieren Sie als Nächstes eine oder mehrere Gruppen für Ihre verwalteten Hosts. Wir haben zwei verwaltete Hosts, wie bereits in der Einrichtung zu Beginn dieses Themas gezeigt. Beim Setup wird die statische Hostdatei wie folgt definiert:

[webserver]
192.168.0.15

[database_server]
192.168.0.200

Speichern und beenden Sie die Inventardatei.

Um verwaltete Hosts aufzulisten, führen Sie Folgendes aus:

ansible all -i hosts --list-hosts

Bisher ist es uns gelungen, Ansible im Kontrollknoten zu installieren und die verwalteten Hosts in einer statischen Hostdatei zu definieren, die sich auf dem Kontrollknoten befindet.

Als nächstes werden wir sehen, wie wir unsere Remote- oder verwalteten Hosts verwalten oder steuern können.

Schritt 5: Richten Sie den Ansible-Steuerknoten für die Verbindung mit den Remote-Knoten ein

Für den Ansible-Kontrollknoten (RHEL 8) zur Verwaltung der Remote-Hostsysteme (Debian 10 und CentOS 8) Wir müssen eine passwortlose SSH-Authentifizierung für die Remote-Hosts einrichten. Dazu müssen Sie ein SSH-Schlüsselpaar generieren und den öffentlichen Schlüssel auf den Remote-Knoten speichern.

Melden Sie sich am Ansible-Kontrollknoten als normaler Benutzer an und generieren Sie das SSH-Schlüsselpaar, indem Sie den Befehl ausführen.

su tecmint
ssh-keygen

Als nächstes kopieren Sie den öffentlichen SSH-Schlüssel wie gezeigt auf Remote-Knoten.

ssh-copy-id [email 	        (For Debian 10 node)
ssh-copy-id [email 	        (For CentOS 8 node)

Nachdem wir die öffentlichen Schlüssel zu allen unseren Remote-Knoten hinzugefügt haben, werden wir einen Ping-Befehl vom Ansible Control-Knoten ausgeben, um sicherzustellen, dass sie erreichbar sind.

ansible -m ping all

Aus der obigen Ausgabe können wir deutlich erkennen, dass der Ping-Befehl erfolgreich war und wir die Erreichbarkeit aller Knoten testen konnten.

Abschluss

In dieser Anleitung haben wir Ansible erfolgreich auf dem Kontrollknoten installiert und eingerichtet, auf dem RHEL 8 ausgeführt wird. Später haben wir die Remote-Hosts in einer statischen Hostdatei definiert und den Kontrollknoten so konfiguriert, dass er eine Verbindung zu den verwalteten Hosts herstellt und diese steuert, indem wir die passwortlose SSH-Authentifizierung einrichten.