Ansible ist ein Infrastructure-as-Code-Tool, das es seinen Benutzern ermöglicht, viele Server von einem zentralen Standort aus zu steuern. Der Vorteil der Verwendung von Ansible besteht darin, dass SSH zusammen mit YAML-Dateien für die Konfiguration verwendet wird, ohne dass andere Konfigurationen erforderlich sind. In diesem Tutorial werde ich beschreiben, wie Ansible auf einem Ubuntu 20.04-System installiert und konfiguriert wird.
Installation von Ansible auf Ubuntu
Verwenden Sie zum Installieren von Ansible das offizielle Ubuntu 20.04-Repository in Ihrem System. Öffnen Sie das Terminalfenster mit Strg+Alt+T Verknüpfung oder verwenden Sie Anwendungen-> Terminal. Aktualisieren Sie danach das Repository mit:
$ sudo apt update
Der apt-Paket-Repository-Cache wird dann aktualisiert. Installieren Sie nun Ansible mit:
$ sudo apt install ansible
Das System fordert Sie nach einer Weile auf, drücken Sie Y auf der Tastatur und drücken Sie dann die Eingabetaste, um fortzufahren.
Anschließend wird Ansible installiert. Lassen Sie uns diesen Schritt überprüfen, indem Sie Folgendes verwenden:
$ ansible –version
Die installierte Version wird wie folgt angezeigt:
Generieren Sie einen SSH-Schlüssel
Jetzt müssen Sie einen SSH-Schlüssel auf Ihrem System generieren, auf dem Ansible installiert wird. Um den Schlüssel zu generieren, hängen Sie den Befehl an:
$ ssh-keygen
Drücken Sie nach der Eingabe im Terminalfenster die Eingabetaste.
Drücken Sie erneut
Jetzt müssen Sie wieder die
Sobald Sie die Eingabetaste drücken, wird eine Ausgabe ähnlich dieser angezeigt. Es wird einen SSH-Schlüssel haben, der in der nächsten Hälfte des Tutorials verwendet wird.
Konfiguration von Ubuntu-Hosts zur Automatisierung von Ansible
Um mehr als einen Host zu automatisieren, müssen Sie den gleichen Vorgang für jeden der Hosts wiederholen. Auf allen zu konfigurierenden Ubuntu-Hosts (Ansible) muss das SSH-Paket installiert sein. Jetzt aktualisieren wir das apt-Paket mit:
$ sudo apt update
Die Aktualisierungen beginnen ganz ähnlich wie die unten angezeigte:
Der nächste Schritt ist die Installation des OpenSSH-Servers mit:
$ sudo apt install openssh-server -y
Sobald Sie fertig sind, müssen Sie den Status des sshd-Dienstes überprüfen. Verwenden Sie den folgenden Befehl, um dies zu überprüfen:
$ sudo systemctl status sshd
Die Ausgabe wird angezeigt, sobald Sie
Sobald Sie überprüft haben, ob der sshd-Befehl ordnungsgemäß ausgeführt wird und aktiviert ist, können Sie fortfahren. Wenn nicht aktiviert, starten Sie es manuell mit:
$ sudo systemctl start sshd
Lassen Sie uns nun die Firewall konfigurieren, um den SSH-Zugriff zuzulassen, indem Sie Folgendes verwenden:
$ sudo ufw allow ssh
Es erscheint eine Ausgabe ähnlich der unten angezeigten:
Der nächste Schritt besteht darin, ein Ansible hinzuzufügen Benutzer und erlauben Sie dann den passwortlosen Zugriff. Wir werden nun einen ansiblen Benutzer erstellen, indem wir Folgendes verwenden:
$ sudo adduser ansible
Geben Sie das Passwort für ansible an Benutzer.
Füllen Sie danach die relevanten Informationen in alle verfügbaren Felder ein.
Um den kennwortlosen Sudo-Zugriff zu konfigurieren, geben Sie Folgendes im Terminalfenster für Ihren Ansible-Benutzer ein:
$ echo "ansible ALL=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/ansible
Lassen Sie uns die IP-Adresse des Ansible-Hosts überprüfen, indem Sie Folgendes verwenden:
$ hostname -I
Der Host erscheint in der Ausgabe.
Da Sie nun den Hostnamen kennen, kopieren wir den öffentlichen SSH-Schlüssel wie folgt auf den Ansible-Host:
$ ssh-copy-id [email protected]
Geben Sie jetzt Ja ein, um fortzufahren.
Der Schlüssel wird auf den Host kopiert.
Um die kennwortbasierte Anmeldung zu deaktivieren, verwenden Sie den Befehl:
$ sudo usermod -L ansible
Hier können wir ohne Passwort auf den Ansible-Host zugreifen und er ist bereit für die Automatisierung.
Ansible testen
Um Ansible nach der Installation und Konfiguration zu testen, müssen Benutzer ein neues Projektverzeichnis erstellen. Verwenden Sie dazu den mkdir-Befehl:
$ mkdir ~/ansible-demo
Sobald Sie ein neues Verzeichnis erstellt haben, müssen Sie darauf zugreifen mit:
$ cd ~/ansible-demo/
Erstellen Sie danach eine neue Hostdatei im selben Projektverzeichnis mit:
$nano hosts
Ansible verwendet die Hosts in dieser Datei für SSH. Nachdem Sie den Nano-Editor geöffnet haben, geben Sie die IP-Adresse Ihres Hosts ein, den Sie anpingen möchten.
Versuchen wir, alle Hosts mit Ansible zu pingen, indem wir Folgendes verwenden:
$ ansible all -i ./hosts -u ansible -m ping
Sie werden einen Erfolg wie diesen unten sehen:
Deinstallation von Ansible
Um Ansible zu deinstallieren, verwenden Sie den folgenden Befehl im Terminalfenster:
$ sudo apt remove ansible
Geben Sie Y ein, um mit der Deinstallation fortzufahren.
Auf diese Weise können Benutzer Ansible einfach von ihrem System entfernen.
Schlussfolgerung
In diesem Artikel haben wir den Ansible-Installationsprozess auf einem Ubuntu 20.04-System gesehen und wie Ansible konfiguriert und getestet wird.