GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So erstellen und führen Sie eine Ansible Playbook-Datei aus

Ansible ist ein beliebtes Tool zur Verwaltung der Serverkonfiguration, mit dem Benutzer Remote-Systeme von einem einzigen Kontrollknoten aus verwalten und überwachen können. Mit Ansible können Sie Softwarepakete installieren, Dienste bereitstellen und Konfigurationen auf mehreren Hosts von einem einzigen Knoten aus vornehmen, anstatt sich bei jedem der Knoten anzumelden. Wir haben bereits eine Anleitung zur Installation und Einrichtung von Ansible auf Ubuntu 20.04. Dies gibt Ihnen eine Einführung und einen wahrscheinlichen Vorsprung, wenn Sie diesen Leitfaden durchgehen. In diesem Leitfaden konzentrieren wir uns darauf, was Playbooks sind, wie sie erstellt und zum Bereitstellen von Diensten verwendet werden.

Lab-Setup

Wir haben bereits ein Heimlabor, wie unten angegeben. Um das Beste aus diesem Leitfaden herauszuholen, können Sie ihn replizieren oder eine ähnliche Laborumgebung auf einer virtualisierten Plattform einrichten:

Ansible-Kontrollknoten IP:192.168.2.106

Verwalteter Host IP:192.168.2.108

Wenn die Einrichtung überprüft ist, können wir loslegen.

Was ist eine Playbook-Datei?

Ansible fällt, genau wie Terraform, unter Infrastructure as a Code. Was bedeutet das? Infrastructure as a Code (IaC) wird als ein Mechanismus zur Bereitstellung und Verwaltung von Hosts mithilfe von maschinenlesbaren Konfigurationsdateien beschrieben, im Gegensatz zur physischen Anmeldung und Vornahme der Konfigurationen. In Ansible ist ein Playbook eine solche Konfigurationsdatei.

Ein Playbook ist eine Datei in YAML, die ein oder mehrere Plays enthält. Was ist ein Theaterstück? Ein Play ist eine geordnete Aufgabe, die eine Aufgabe oder einen Prozess auf dem verwalteten Host automatisiert, wie z. B. das Bereitstellen einer Anwendung wie etwa eines Webservers oder das Vornehmen von Konfigurationen. Ein Playbook kann ein oder mehrere Plays haben, die jeweils unterschiedliche Aufgaben erfüllen.

Spiele verwenden Module, bei denen es sich um spezielle Funktionen handelt, um die auf dem entfernten Host erforderlichen Änderungen anzugeben. Jedes Modul ist speziell und definiert eine bestimmte Aufgabe.

Eine Playbook-Datei wird mit einer .yml-Datei gespeichert oder .yaml Dateierweiterung.

Erstellen einer Playbook-Datei

Lassen Sie uns nun eine Playbook-Datei erstellen. In dieser Demonstration erstellen wir eine Playbook-Datei namens greetings.yml im Ansible-Verzeichnispfad /etc/ansible wie abgebildet.

$ sudo vim /etc/ansible/greetings.yml

Fügen Sie die folgende Konfiguration hinzu. Dies ist ein einfaches Playbook, das eine Nachricht an stdout auf dem Remote-Server ausgibt. Achten Sie auf die Einrückung der Module.

Die Ansible Playbook-Datei beginnt mit drei Bindestrichen ( ), um anzugeben, dass es sich um eine YAML-Datei handelt. Die „Gastgeber“ Der Parameter gibt den Remote-Host oder die Gruppe von Hosts an, die in der Inventardatei definiert sind, die sich standardmäßig in /etc/ansible/hosts. befindet Hier, Inszenierung ist die Hostgruppe, für die der Remote-Host mit der IP 192.168.2.108 ist ist definiert.

Der Remote-Host wird unter der Hostgruppe namens Staging definiert mit den folgenden Einträgen.

[staging]

192.168.2.108 ansible_ssh_pass=xxxxxxxx ansible_ssh_user=jack

Der ansible_ssh_pass gibt das SSH-Passwort des entfernten Benutzers an, während ansible_ssh_use gibt den Benutzernamen auf dem Remote-Host an.

Als nächstes haben wir den Namen des Stücks „Eine einfache Nachricht drucken “, gefolgt von debug Modul, das die durch msg definierte Nachricht ausgibt Modul.

Ausführen der Playbook-Datei

Um das Playbook auszuführen, verwenden Sie einfach das Ansible-Playbook Befehl in der unten angegebenen Syntax.

$ ansible-playbook /path/to/playbook-file

In unserem Fall ist dies:

$ ansible-playbook /etc/ansible/greetings.yml

Während der Spielausführung gibt Ansible zunächst den Namen der Hostgruppe oder des entfernten Hosts aus, auf dem das Spiel ausgeführt wird – in unserem Fall das Staging Gruppe. Ansible ruft dann Informationen über das Spiel ab, die als Fakten bezeichnet werden und führt schließlich die im Playbook angegebene Aktion aus. Hier wird die einfache Nachricht gedruckt.

Nehmen wir noch ein weiteres Beispiel für eine Playbook-Datei namens install_apache_and_git.yml Wie nachfolgend dargestellt. Hier haben wir zwei Stücke. Das erste Spiel installiert den Apache-Webserver, während das zweite Spiel Git auf dem Remote-System installiert. Die werden:wahr Der Parameter führt den Befehl wie erwartet als Benutzer mit erhöhten Rechten oder als sudo-Benutzer für den entfernten Benutzer aus.

Wenn das Playbook ausgeführt wird, werden alle Plays in der Reihenfolge ihrer Ausführung vom ersten bis zum letzten aufgelistet. Das Playbook installiert zuerst den Apache-Webserver, bevor es Git installiert. Das –fragen-werden-passieren Direktive fordert den sudo-Benutzer auf, die in den Spielen definierten Aufgaben auszuführen.

Abschluss

Und so können Sie eine einfache Playbook-Datei erstellen und ausführen. Wir hoffen, dass dies ein grundlegendes Verständnis einer Ansible-Playbook-Datei, ihrer Struktur und ihrer Verwendung zum Ausführen von Aufgaben auf Remote-Hosts vermittelt hat.


Ubuntu
  1. So erstellen Sie eine Datei in Ansible

  2. Ansible Playbook:So erstellen und konfigurieren Sie Playbooks

  3. So führen Sie ein Ansible Playbook mit der AWX-GUI aus und planen es

  4. So erstellen Sie ein Ansible-Playbook

  5. Wie erstelle ich eine Datei und mounte sie als Dateisystem?

So erstellen und führen Sie ein Shell-Skript in Debian 10 aus

So erstellen und führen Sie ein Shell-Skript in CentOS 8 aus

So erstellen und bearbeiten Sie PDF-Dateien in Ubuntu

So führen Sie .bin- und .run-Dateien in Ubuntu aus

So erstellen und verwenden Sie eine Auslagerungsdatei unter Linux

So erstellen und führen Sie ein Shell-Skript in Ubuntu 22.04 aus