Ansible AWX-Leitfaden: Grundverwendung und Konfiguration

AWX ist eine Open-Source-Webanwendung, die eine Benutzeroberfläche, REST-API und Aufgaben-Engine für Ansible bereitstellt. Es ist die Open-Source-Version des Ansible Tower. Mit dem AWX können Sie Ansible Playbooks, Inventare verwalten und Aufträge für die Ausführung über die Weboberfläche planen.

In diesem Tutorial zeigen wir Ihnen die grundlegende Bedienung des Ansible AWX. Sie benötigen also einen Server, der bereits installiert ist Ansible AWX. Wir decken einige Grundkonfigurationen von Ansible AWX ab, die Sie kennen müssen, wie z.B. Setup-Anmeldeinformationen, Inventare, Setup- und Run-Jobvorlagen usw. Wenn Sie Ansible noch nicht installiert haben, dann lesen Sie bitte dieses Tutorial: https://www.howtoforge.com/how-to-install-ansible-awx-with-nginx-reverse-proxy-on-ubuntu-1804/.

Voraussetzungen

  • 2 oder 3 Server
    • 10.5.5.5.20 ansible-awx
    • 10.5.5.5.21 lemp
  • Grundkenntnisse über Ansible
  • Root-Rechte

Was wir tun werden:

  1. Einrichtung und Konfiguration der Umgebung
  2. Einrichtungs-Anmeldeinformationen
  3. Einrichten von Beständen
  4. Projekte einrichten
  5. Auftragsvorlagen einrichten
  6. Jobs ausführen

Schritt 1 – Einrichtung und Konfiguration der Umgebung

In diesem Tutorial werden wir das Ansible-Playbook für die grundlegende LEMP-Installation im Ansible AWX-Dashboard einsetzen und ausführen.

Wir haben zwei Server für den awx selbst und den Zielrechner.

10.5.5.20   ansible-awx
10.5.5.21   lemp

Jetzt werden wir das Playbook unter dem Namen „hakase“ und unter Verwendung der schlüsselbasierten SSH-Authentifizierung einsetzen. Stellen Sie daher sicher, dass Sie die benutzer- und schlüsselbasierte Authentifizierung auf dem Zielcomputer „lemp“ bereits eingerichtet haben.

Testen Sie mit dem folgenden Befehl vom ‚ansible-awx‚ Server.

su - hakase
ssh hakase@10.5.5.21

Stellen Sie sicher, dass Sie ohne Passwort angemeldet sind.

Nun muss der Benutzer’hakase‘ das Root-Passwort ohne Passwort für laufende Aufgaben haben.

Führen Sie auf dem Zielcomputer ‚lemp‚ den Befehl sudo wie folgt aus.

su - hakase
sudo su

Stellen Sie sicher, dass Sie die Root-Rechte ohne Passwort eingegeben haben.

Nun müssen Sie die Python-Pakete auf allen von Ansible verwalteten Zielmaschinen installieren.

sudo apt install python -y

Install Python

Schritt 2 – Einrichten der Anmeldeinformationen

Zuerst müssen wir die Ansible AWX Credentials konfigurieren. Es wird für die Authentifizierung beim Starten und Ausführen von Aufträgen auf verwalteten Servern, bei der Synchronisierung mit Bestandsquellen und beim Import von Projekten verwendet.

Standardmäßig unterstützt der Ansible AWX viele Anmeldeinformationen, einschließlich der VM-Maschine durch SSH-Authentifizierung, Amazon Web Services, Google Compute Engine, OpenStack, Vault Passwort, Source Control usw.

Um Anmeldedaten einzurichten, klicken Sie auf das Menü „Anmeldedaten“ auf der linken Seite und klicken Sie auf die Schaltfläche „+“ auf der rechten Seite.

Einrichtungs-Anmeldeinformationen

Geben Sie nun die Anmeldeinformationen‘NAME‚ und‘DESCRIPTION‚ ein und geben Sie dann den‘CREDENTIAL TYPE‚ auf‘Machine‚ an.

Einfach ausgedrückt, ermöglicht Ihnen die Berechtigung „Maschine“ die Verwendung der SSH-Authentifizierung zur Verwaltung von Servern. Seine Unterstützung für passwortbasierte und schlüsselbasierte Authentifizierungen.

Für diesen Leitfaden verwenden wir die schlüsselbasierte Authentifizierung. Geben Sie also den Benutzernamen ein und fügen Sie die privaten Schlüssel für diesen Benutzer ein.

schlüsselbasierte Authentifizierung

Klicken Sie dann auf die Schaltfläche „SAVE„.

Infolgedessen wurde der neue Ansible AWX-Anmeldeinformationen vom Typ’Maschine‘ erstellt.

Ansible AWX-Anmeldeinformationen

Schritt 3 – Einrichten von Inventaren

Inventare sind Gruppen von Hostservern, die von Ansible AWX verwaltet werden. Die Inventare ermöglichen es Ihnen, eine Gruppe mit mehreren Host-Servern zu erstellen. Und es macht es einfacher, verschiedene Server mit unterschiedlichen Umgebungen zu verwalten.

Um Server zu verwalten und bereitzustellen, müssen wir eine neue Bestandsgruppe erstellen und dann Server-Hosts zu dieser Bestandsgruppe hinzufügen.

Um neue Bestände hinzuzufügen, klicken Sie auf das Menü „Bestände“ auf der linken Seite, dann auf die Schaltfläche „+“ und wählen Sie „Bestände“.

Einrichten von AWX-Inventaren

Geben Sie den‘NAME‚ und‘DESCRIPTION‚ des Inventars ein und klicken Sie dann auf die Schaltfläche‘SAVE‚.

Name und Beschreibung

Klicken Sie nun auf die Registerkarte‘HOSTS‚ und dann auf die Schaltfläche‘+‘, um neue Hosts hinzuzufügen.

Wirte

Geben Sie den‘HOST NAME‚,‘DESCRIPTION‚ und die‘VARIABLES‚ mit zusätzlicher Konfiguration für die IP-Adresse des Zielsystems’ansible_host: 10.5.5.5.21‘ ein.

Hostname und Variablen

Klicken Sie nun auf die Schaltfläche „SAVE„.

Als nächstes müssen wir die Konfiguration der Hosts sicherstellen, indem wir die Hosts mit dem Befehl ping überprüfen.

Zurück zur Registerkarte‘HOSTS‚, markieren Sie den Name-Server Ihrer Hosts und klicken Sie auf die Schaltfläche‘RUN COMMANDS‚.

Fahrbefehle

Wählen Sie nun das‘MODUL‚ mit dem Namen‘ping‚, klicken Sie auf die Suchschaltfläche in der Spalte‘MACHINE CREDENTIAL‚ und wählen Sie Ihre eigene aus, dann klicken Sie auf die Schaltfläche‘LAUNCH‚.

Maschinen-Anmeldeinformationen

Und du wirst auf die neue Seite weitergeleitet und unten ist das Ergebnis.

Ergebnis des awx-Skriptlaufs

Ein neues Inventar wurde erstellt und der Server des Zielmotors hinzugefügt.

Schritt 4 – Projekte einrichten

Projekte werden als Ansible Playbooks auf dem AWX dargestellt. Seine Sammlungen von Ansible Playbooks, die wir über das lokale Projektverzeichnis oder über das SCM-System wie Git, Subversion, Mercurial und RedHat Insights verwalten können.

Um neue Projekte zu erstellen, klicken Sie auf das Menü „Projekte“ auf der linken Seite und klicken Sie auf die Schaltfläche „+“.

AWX-Projekte

Geben Sie den‘NAME‚ Ihres Projekts und die‘BESCHREIBUNG‚ ein, wählen Sie dann den‘SCM-Typ‚ zu‘Git‚ und fügen Sie Ihr Playbook-Repository ein.

Name, Beschreibung und scm-Typ

Klicken Sie nun auf die Schaltfläche „SPEICHERN“ und als Ergebnis wurde ein neues Projekt für das Spielbuch erstellt.

Projekt wurde hinzugefügt

Zusätzlich:

Wenn Sie ein neues Projekt mit dem SCM-Typ‘Manual‚ erstellen möchten, können Sie ein neues Playbook-Verzeichnis erstellen, das sich unter dem Verzeichnis‘/var/lib/awx/projects‚ befindet.

Das Verzeichnis ‚/var/lib/awx/projects‘ ist das Standardprojektverzeichnis für Ihre Ansible Playbooks, wenn Sie die AWX-Docker-Version mit aktiviertem ‚project_data_dir‚ verwenden.

Schritt 5 – Neue Jobvorlagen erstellen

Die Jobvorlage ist die Definition, Ansible Playbooks selbst auszuführen. Um also eine neue Jobvorlage zu erstellen oder die Jobvorlage auszuführen, müssen wir Ansible Playbook aus unserem „Project“, die „Credentials“ für die Authentifizierung und die Zielcomputer, die auf den „Inventories“ gespeichert sind, hinzufügen.

Für diesen Leitfaden haben wir bereits ein neues Projekt, eine neue Qualifikation und ein neues Inventar erstellt. Klicken Sie dazu einfach auf das Menü „Vorlagen“ auf der linken Seite, dann auf die Schaltfläche „+“ und wählen Sie die Option „Auftragsvorlage„.

Jobvorlage hinzufügen

Nun müssen Sie den‘NAME‚ und‘DESCRIPTION‚ des Jobs eingeben. Wählen Sie dann die Optionen‘INVENTORY‚,‘CREDENTIAL‚ und‘PROJECT‚. Und danach geben Sie das‘PLAYBOOK‚ an, das Sie ausführen und bereitstellen möchten.

Job-Projektdetails hinzufügen

Und so wurde die neue Jobvorlage Ansible AWX erstellt.

Schritt 6 – Ausführen der Auftragsvorlage

Nachdem wir die neue Jobvorlage erstellt haben, führen wir die Jobvorlage aus und stellen die Playbooks ‚Projekte‘ auf Ziel-Hosts auf dem ‚Inventar‘ bereit.

Klicken Sie auf das Menü „Vorlagen“ auf der linken Seite und Sie erhalten eine Liste der verfügbaren Jobvorlagen.

Ausführen der Auftragsvorlage

Sobald der Job beendet ist, erhalten Sie das grüne Zeichen im Namen der Jobvorlage.

Ergebnis des Vorlagenlaufs

Klicken Sie auf das grüne Zeichen im Namen der Jobvorlage und Sie erhalten das aktuelle Ergebnis dieses Jobs angezeigt.

Ergebnis des Auftrags

Der Auftrag wurde erfolgreich abgeschlossen, und die Zielmaschine wurde mit dem LEMP-Stack über den Ansible AWX installiert.

Schritt 7 – Testen der Zielmaschine

Testen des Domänennamens des Zielcomputers. Die Konfiguration des Domänennamens, die unter der Konfiguration‘roles/web/vars/main.yml‚ gespeichert ist.

Zielserver testen

Überprüfung der Nginx- und PHP-FPM-Dienste mit systemctl-Befehlen.

systemctl status nginx
systemctl status php7.2-fpm

Nginx und php-fpm Status

Testen der MySQL-Datenbank auf dem Zielcomputer. Detaillierte Konfigurationen der MySQL-Datenbank, die in der Konfigurationsdatei’roles/db/vars/main.yml‘ gespeichert sind.

MySQL-Status

Infolgedessen wurde der LEMP-Stack auf dem Zielcomputer über den Ansible AWX installiert.

Referenz

Das könnte Dich auch interessieren …