Bedarf
Um zu beginnen, haben wir ein Lab-Setup wie gezeigt:
- RHEL 8 (Ansible Control Node) IP: 192.168.43.44
- Ubuntu 18.04 Server (Verwalteter Host) IP: 192.168.43.103
- Eine stabile Internet- und Netzwerkverbindung
Das RHEL 8-System dient als unser Ansible Control-Knoten, von dem aus wir eine Verbindung zum Remote-Ubuntu 18 herstellen und dieses verwalten.04 Server.
Ansible auf RHEL 8 installieren
Lass uns gleich reinspringen!
Schritt 1: Aktualisieren Sie RHEL 8
Um Ansible zu installieren, melden Sie sich zuerst bei Ihrem System an und aktualisieren Sie die Systempakete mit dem Befehl:
# sudo dnf update -yBeispielausgabe
Nachdem Sie das System erfolgreich aktualisiert haben, sollten Sie die folgende Eingabeaufforderung erhalten
Schritt 2: Python3 auf RHEL 8 installieren
RHEL 8 wird standardmäßig mit installiertem Python3 geliefert. Wenn Python3 zufällig in Ihrem System fehlt, führen Sie einfach den Befehl aus:
# sudo dnf python3 installieren
Wie Sie der obigen Ausgabe entnehmen können, ist Python3 bereits installiert. Führen Sie den Befehl aus, um die Installation zu überprüfen:
Beispielausgabe
Aus der obigen Ausgabe die neueste Version von Python - 3.6.8 - ist standardmäßig installiert.
Schritt 3: Ansible installieren
Wenn die Voraussetzungen überprüft sind, fahren Sie jetzt fort und installieren Sie Ansible mit den Befehlen:
$ subscription-manager repos --enable ansible-2.8-für-rhel-8-x86_64-rpmsBeispielausgabe
Führen Sie als Nächstes den folgenden Befehl aus, um Ansible zu installieren:
$ sudo dnf -y install ansibleBeispielausgabe
Nach erfolgreicher Installation sollten Sie folgende Ausgabe erhalten:
Um die Ansible-Version zu überprüfen, verwenden Sie einfach den Befehl:
# ansible --version
Die Konfigurationsdatei von Ansible ist ansible.cfg befindet sich /etc/ansible/ansible.cfg.
Groß! wir haben Ansible erfolgreich auf RHEL 8 installiert.
Im nächsten Abschnitt werden wir unseren Ansible Control-Knoten so konfigurieren, dass er mit dem Remote-Ubuntu 18 . kommuniziert und es verwaltet.04 Serversystem.
Schritt 4: Konfigurieren Sie eine kennwortlose SSH-Verbindung zum Remote-Host
Um unseren Remote-Knoten effizient zu verwalten, müssen wir eine passwortlose SSH-Anmeldung dafür konfigurieren.
Lassen Sie uns zunächst überprüfen, ob SSH auf dem Ansible Control ausgeführt wird. Führen Sie den Befehl aus:
# sudo systemctl status sshdBeispielausgabe
Groß! Der SSH-Dienst läuft wie erwartet up. Überprüfen Sie dasselbe auf dem Remote-Ubuntu-Server-Host.
Wenn SSH auf beiden Systemen ausgeführt wird, konfigurieren wir die passwortlose SSH-Anmeldung vom Kontrollknoten zum Remote-Host.
Generieren Sie vom Ansible Control Node (RHEL 8) SSH-Schlüssel wie gezeigt:
# ssh-keygenDrücken Sie die EINGABETASTE für alle Eingabeaufforderungen. Sie sollten die Ausgabe wie gezeigt erhalten:
Beispielausgabe
Der Befehl erzeugt ein SSH-Schlüsselpaar i.e Privater und öffentlicher Schlüssel. Der private Schlüssel befindet sich auf dem Ansible-Kontrollknoten, während der öffentliche Schlüssel auf den verwalteten Knoten kopiert wird. Führen Sie den folgenden Befehl aus, um den öffentlichen Schlüssel auf den verwalteten Knoten zu kopieren:
# ssh-copy-id [email protected]Um fortzufahren, geben Sie ein Ja und das Login-Passwort des Benutzers angegeben.
Danach erhalten Sie die Benachrichtigung, dass der Schlüssel hinzugefügt wurde.
Beispielausgabe
Um zu überprüfen, ob die Anmeldung ohne Kennwort erfolgreich war, melden Sie sich mit der Syntax an
In diesem Fall lautet der Befehl:
#ssh [email protected]
Schritt 5: Ansible für die Kommunikation mit Hosts konfigurieren
Damit Ansible Remote-Hosts steuern und verwalten kann, müssen wir das Remote-Host-System in der Inventardatei von Ansible unter definieren /etc/ansible/hosts.
Fahren Sie also fort und öffnen Sie die Inventardatei 'hosts' mit dem vim-Editor
# vim /etc/ansible/hostsGeben Sie ganz am Ende der Inventardatei einen beliebigen Gruppennamen für Ihr Hostsystem an und fügen Sie die IP-Adresse des Hosts hinzu host. Beispielsweise, Webserver ist der Gruppenname und die definierte IP-Adresse ist die IP-Adresse des Remote-Hosts.
[Webserver]192.168.43.103
Speichern und schließen Sie die Inventardatei.
Wir sind jetzt bereit, unser Hostsystem zu verwalten. Um die Konnektivität mit dem Ping-Modul zu testen, führen Sie den Ansible adhoc-Befehl wie gezeigt aus.
# ansible -m ping-WebserverODER
# ansible -m ping 192.168.43.103
Beispielausgabe
Gäbe es Hunderte oder sogar Tausende von Servern, würden wir das Ping-Modul mit dem verwenden alle Attribut zum Testen der Konnektivität zu den Systemen mit einem einzigen Befehl.
# ansible -m ping all
Und damit ist dieses Thema zum Installieren und Konfigurieren des Ansible-Automatisierungstools abgeschlossen. Wir haben Ansible installiert und eingerichtet, um das Remote-Host-System zu verwalten. Ihr Feedback ist sehr willkommen.