Ansible

So installieren Sie Ansible auf CentOS 8

So installieren Sie Ansible auf CentOS 8
Ansible wird verwendet, um mehrere Server von einem zentralen Computer aus zu verwalten und zu verwalten. Es ist ein Server-Management-Tool. Ansible benötigt keine serverseitige Konfiguration als Chef oder Puppet. Sie installieren einfach Ansible auf Ihrem Computer und verwalten oder verwalten Server über SSH. Es ist sehr einfach und leicht zu bedienen. In diesem Artikel zeige ich Ihnen, wie Sie Ansible unter CentOS 8 installieren und verwenden. Also lasst uns anfangen.

Ansible installieren:

Ansible ist im EPEL-Repository von CentOS 8 verfügbar. So können Sie Ansible ganz einfach auf CentOS 8 . installieren.

Aktualisieren Sie zunächst den DNF-Paket-Repository-Cache mit dem folgenden Befehl:

$ sudo dnf makecache

Um nun das EPEL-Repository zu aktivieren, installieren Sie das epel-release Paket mit folgendem Befehl:

$ sudo dnf install epel-release

Um die Installation zu bestätigen, drücken Sie Ja und drücke dann .

epel-release Paket sollte installiert und das EPEL-Repository sollte aktiviert sein.

Aktualisieren Sie nun den DNF-Paket-Repository-Cache erneut mit dem folgenden Befehl:

$ sudo dnf makecache

Installieren Sie nun Ansible mit dem folgenden Befehl:

$ sudo dnf install ansible

Um die Installation zu bestätigen, drücken Sie Ja und drücke dann .

DNF sollte damit beginnen, alle erforderlichen Pakete aus dem Internet herunterzuladen.

Möglicherweise werden Sie aufgefordert, den GPG-Schlüssel des EPEL-Repositorys zu akzeptieren. Drücken Sie Ja und drücke dann es zu akzeptieren.

DNF sollte mit der Installation aller heruntergeladenen Pakete beginnen.

An dieser Stelle sollte Ansible installiert sein.

Führen Sie nun den folgenden Befehl aus:

$ ansible --version

Wie Sie sehen können, verwende ich Ansible 2.9.3 und es funktioniert einwandfrei.

Server für Ansible konfigurieren:

Um Server mit Ansible zu verwalten oder zu verwalten, muss der SSH-Server installiert sein und auf den Servern ausgeführt werden. Der SSH-Port des Servers muss geöffnet sein und die Server sollten vom Ansible-Host aus erreichbar sein. Das ist die einzige Voraussetzung für die Verwendung von Ansible.

In diesem Artikel werde ich 4 virtuelle Maschinen (VMs) verwenden (2 Ubuntu Server 18.04 LTS VMs und 2 Debian 10 VMs) zur Demonstration der Grundlagen der Ansible-Serververwaltung und -administration.

Die 4 VMs sind:

linuxhint-f1a46 - 192.168.20.161
linuxhint-8ee7a - 192.168.20.166
linuxhint-s40 - 192.168.20.171
linuxhint-s41-192.168.20.170

Sie können die IP-Adressen der Server verwenden, um diese mit Ansible zu verwalten oder zu administrieren. Sie können auch DNS-Namen der Server verwenden use.

In diesem Artikel verwende ich die /etc/hosts Datei zur DNS-Auflösung der IP-Adressen der VMs.

Wenn du mitmachen möchtest, öffne dein /etc/hosts Datei mit dem vi-Texteditor wie folgt:

$ sudo vi /etc/hosts

Fügen Sie nun die Zeilen wie im Screenshot unten markiert hinzu und speichern Sie die Datei.

Generieren Sie nun wie folgt einen SSH-Schlüssel auf Ihrem CentOS 8 Ansible-Host:

$ ssh-keygen

Drücken Sie .

Drücken Sie .

Drücken Sie .

Der SSH-Schlüssel sollte generiert werden.

Jetzt müssen Sie den SSH-Schlüssel auf alle Server hochladen, die Sie mit Ansible verwalten möchten.

So kopieren Sie den SSH-Schlüssel in den vm1.linuxhint.lokal server, führen Sie den folgenden Befehl aus:

$ ssh-copy-id [email protected]

Geben Sie jetzt ein Ja und drücke dann .

Geben Sie nun das Login-Passwort des vm1.linuxhint.lokal VM und drücken Sie .

Der SSH-Schlüssel sollte kopiert werden.

Machen Sie dasselbe für die vm2.linuxhint.lokal, vm3.linuxhint.lokal und vm4.linuxhint.lokal Server.

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

$ ssh-copy-id [email protected]

Sobald Sie den SSH-Schlüssel auf die VMs kopiert haben, sollten Sie ohne Passwort per SSH hineingehen können, wie Sie im Screenshot unten sehen können.

Führen Sie nun auf jedem Server den folgenden Befehl aus, um dem Login-Benutzer den sudo-Zugriff ohne Passwort zu ermöglichen. Dies ist erforderlich, damit Ansible Root-Befehle ausführen kann.

$ echo "$(whoami) ALLE=(ALL) NOPASSWD:ALL" | sudo tee /etc/sudoers.d/$(whoami)

Alle Server können nun von Ansible aus konfiguriert oder verwaltet werden.

Ansible verwenden:

Ansible führt eine Liste aller von ihm verwalteten Hosts in einer Datei namens Inventardatei. Die Ansible-Inventardatei ist nur eine einfache Textdatei.

Erstellen wir ein neues Ansible-Projektverzeichnis ~/ansible/ Zuerst erstellen wir unsere Inventardatei.

$ mkdir ~/ansible

Navigieren Sie nun zum ~/ansible Verzeichnis.

$ cd ~/ansible

Erstellen Sie nun eine Ansible-Inventardatei wie folgt. Sie können diese Datei beliebig nennen. Ich werde es nennen Gastgeber.

$ vi Gastgeber

Jetzt können Sie Ihre Server wie folgt hinzufügen. Hier, ansible_user Option wird verwendet, um den Benutzer zu definieren, den Ansible verwendet, um Befehle auf diesen Servern auszuführen. Es ist normalerweise der Login-Benutzer des Servers.

Sie können auch IP-Adressen und DNS-Namen der Server in der Inventardatei mischen.

Sie können auch Server gruppieren. Hier habe ich 2 Gruppen, Webserver und dbserver.

In dem Webserver Gruppe, habe ich hinzugefügt vm1 und vm2 Server. In dem dbserver Gruppe, habe ich hinzugefügt vm3 und vm4 Server.

Sobald die Inventardatei erstellt wurde, können Sie die Inventardatei mit dem -ich Option von Ansible.

Sie können alle Hosts aus der Inventardatei wie folgt auflisten:

$ ansible -i hosts --list-hosts all

Sie können wie folgt überprüfen, ob alle Hosts aktiv sind:

$ ansible -i hosts --list-hosts -m ping all

Wie Sie sehen, sind alle Hosts aktiv.

Sie können auch alle Hosts einer einzelnen Gruppe anpingen.

$ ansible -i hosts --list-hosts -m ping webserver

Sie können Shell-Befehle mit Ansible wie folgt ausführen:

$ ansible -i hosts -m Shell -a 'Befehl'

Sie können Shell-Befehle (mit sudo-Berechtigungen) auch wie folgt ausführen.

$ ansible -i hosts -b --become-method=sudo -m shell -a 'Befehl' |Gruppenname>

Sie können beispielsweise den APT-Paket-Repository-Cache auf den Hosts in der Webserver-Gruppe mit Ansible wie folgt aktualisieren:

$ ansible -i hosts -b --become-method=sudo -m shell -a 'apt update' Webserver

Wie Sie sehen, wird der Cache des APT-Paket-Repositorys für alle Hosts im Webserver Gruppe.

Versuchen wir, den Apache 2-Webserver auf allen Hosts des zu installieren Webserver Gruppe.

$ ansible -i hosts -b --become-method=sudo -m shell -a
'apt install -y apache2' Webserver

Der Apache-Webserver sollte auf allen Hosts des Webserver Gruppe.

Wie Sie sehen, arbeitet der Apache-Webserver auf allen Hosts in Webserver Gruppe.

$ ansible -i hosts -b --become-method=sudo -m shell -a 'curl -sI
http://localhost' Webserver

Auf die gleiche Weise können Sie jeden Befehl auf allen Hosts in . ausführen dbserver Gruppe.

$ ansible -i hosts -m shell -a 'lsb_release -a' dbserver

Sie können auch Ansible Playbook verwenden, um Ihre Server einfacher zu verwalten. Ansible Playbook ist nicht Gegenstand dieses Artikels. Lesen Sie die Dokumentation von Ansible für weitere Informationen zum Ansible Playbook.

Vielen Dank für das Lesen dieses Artikels.

So ändern Sie die linke und rechte Maustaste auf einem Windows 10-PC
Es ist ganz normal, dass alle Computer-Maus-Geräte ergonomisch für Rechtshänder gestaltet sind. Es gibt aber auch Mausgeräte, die speziell für Linkshä...
Emulieren Sie Mausklicks, indem Sie den Mauszeiger mit der klicklosen Maus in Windows 10 bewegen
Die Verwendung einer Maus oder Tastatur in der falschen Haltung bei übermäßiger Nutzung kann zu vielen gesundheitlichen Problemen führen, einschließli...
Fügen Sie mit diesen kostenlosen Tools Mausgesten zu Windows 10 hinzu
In den letzten Jahren haben sich Computer und Betriebssysteme stark weiterentwickelt. Es gab eine Zeit, in der Benutzer Befehle verwenden mussten, um ...