Installieren von Ansible:
Ansible ist im Epel -Repository von CentOS 8 erhältlich. Sie können also einfach Ansible auf CentOS 8 installieren.
Aktualisieren Sie zunächst den DNF -Paket -Repository -Cache mit dem folgenden Befehl:
$ sudo dnf makecache
So installieren Sie nun das Epel -Repository, um die zu installieren Epel-Release Paket mit dem folgenden Befehl:
$ sudo dnf install epel-release
Um die Installation zu bestätigen, drücken Sie Y und dann drücken Sie .
Epel-Release Das Paket sollte installiert werden 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 installieren Ansible
Um die Installation zu bestätigen, drücken Sie Y und dann drücken Sie .
DNF sollte anfangen, alle erforderlichen Pakete aus dem Internet herunterzuladen.
Möglicherweise werden Sie gebeten, den GPG -Schlüssel des Epel -Repositorys zu akzeptieren. Drücken Sie Y und dann drücken Sie es akzeptieren.
DNF sollte mit der Installation aller heruntergeladenen Pakete beginnen.
Zu diesem Zeitpunkt sollte Ansible installiert werden.
Führen Sie nun den folgenden Befehl aus:
$ ansible -Verssion
Wie Sie sehen können, reite ich ansible 2 aus.9.3 Und es funktioniert gut.
Server für Ansible konfigurieren:
Für die Verwaltung oder Verwaltung von Servern mit Ansible müssen Sie SSH Server installieren und auf den Servern ausgeführt werden. Der Server SSH -Anschluss muss geöffnet sein und die Server sollten über den Ansible -Host zugänglich sein. Das ist die einzige Anforderung, Ansible zu verwenden.
In diesem Artikel werde ich 4 virtuelle Maschinen (VMs) verwenden (2 Ubuntu Server 18.04 LTS VMS und 2 Debian 10 VMs) zum Nachweis der Grundlagen der Verwaltung und Verwaltung von Ansible Server.
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 sie mit Ansible zu verwalten oder zu verwalten. Sie können auch DNS -Namen der Server verwenden.
In diesem Artikel werde ich das verwenden /etc/hosts Datei für die DNS -Auflösung der VMS -IP -Adressen.
Wenn Sie mitmachen möchten, öffnen Sie Ihre /etc/hosts Datei mit VI -Texteditor wie folgt:
$ sudo vi /etc /hosts
Fügen Sie nun die in dem Screenshot unten markierten Zeilen hinzu und speichern Sie die Datei.
Erstellen Sie nun einen SSH -Schlüssel für Ihren CentOS 8 Ansible -Host wie folgt:
$ 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.
Um den SSH -Schlüssel in die zu kopieren VM1.LinuxHint.lokal Server führen Sie den folgenden Befehl aus:
$ ssh-copy-id [email protected]
Tippen Sie nun ein Ja und dann drücken Sie .
Geben Sie nun das Anmeldekennwort der ein VM1.LinuxHint.lokal VM und Presse .
Der SSH -Schlüssel sollte kopiert werden.
Tu das Gleiche 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 in die VMs kopiert haben.
Führen Sie nun den folgenden Befehl auf jedem Server aus, damit Sudo Access ohne Passwort für den Anmeldemutzer. Dies ist erforderlich, damit Ansible alle Root -Befehle ausführen kann.
$ echo "$ (whoami) alle = (alle) nopasswd: alle" | sudo tee /etc /sudoers.D/$ (Whoami)
Alle Server sind jetzt bereit, von Ansible konfiguriert oder verwaltet zu werden.
Verwenden von Ansible:
Ansible hält eine Liste aller Hosts, die es in einer Datei namens Inventory -Datei verwaltet. Ansible Inventory -Datei ist nur eine einfache einfache Textdatei.
Lassen Sie uns ein neues Ansible -Projektverzeichnis erstellen ~/ansible/ Dann erstellen wir dann unsere Bestandsdatei.
$ mkdir ~/ansible
Navigieren Sie nun zur ~/ansible Verzeichnis.
$ cd ~/ansible
Erstellen Sie nun eine Ansible -Inventardatei wie folgt. Sie können diese Datei alles nennen. Ich werde es nennen Gastgeber.
$ vi Gastgeber
Jetzt können Sie Ihre Server wie folgt hinzufügen. Hier, ansible_user Die 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 Bestandsdatei mischen.
Sie können auch Server gruppieren. Hier habe ich 2 Gruppen, Webserver Und dbserver.
Im Webserver Gruppe, ich habe hinzugefügt VM1 Und VM2 Server. Im dbserver Gruppe, ich habe hinzugefügt VM3 Und VM4 Server.
Sobald die Bestandsdatei erstellt wurde, können Sie die Bestandsdatei über die verwenden -ich Option von Ansible.
Sie können alle Hosts aus der Bestandsdatei wie folgt auflisten:
$ ansible -ich Gastgeber -List -Hosts alle
Sie können überprüfen, ob alle Hosts wie folgt aktiv sind:
$ ansible -I -Gastgeber -List -Hosts -m Ping All
Wie Sie sehen können, sind alle Hosts aktiv.
Sie können auch alle Hosts in einer einzigen Gruppe pingen.
$ 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 -Privilegien) wie folgt auch ausführen.
$ ansible -i hosts -b - -become -method = sudo -m Shell -a 'Befehl' '| GroupName>
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 können, wird der APT -Paket -Repository -Cache für alle Hosts in der Webserver Gruppe.
Versuchen wir, den Apache 2 -Webserver auf allen Hosts der Hosts zu installieren Webserver Gruppe.
$ ansible -i hosts -b - -BECOME -Methode = sudo -m Shell -a
"APT Install -y apache2" -Werserver
Apache -Webserver sollte in allen Hosts des Webserver Gruppe.
Wie Sie sehen können, arbeitet Apache Web Server an allen Hosts in Webserver Gruppe.
$ ansible -i hosts -b - -BECOME -Methode = 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 mit Ansible Playbook Ihre Server leichter verwalten. Ansible Playbook ist aus dem Rahmen dieses Artikels aus dem Rahmen dieses Artikels. Lesen Sie die Dokumentation von Ansible, um weitere Informationen zu Ansible Playbook zu erhalten.
Vielen Dank für das Lesen dieses Artikels.