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

Ansible AWX-Leitfaden:Grundlegende Verwendung und Konfiguration

AWX ist eine Open-Source-Webanwendung, die eine Benutzeroberfläche, eine REST-API und eine Task-Engine für Ansible bereitstellt. Es ist die Open-Source-Version des Ansible Tower. Mit AWX können Sie Ansible-Playbooks und -Bestände verwalten und Jobs planen, die über die Weboberfläche ausgeführt werden sollen.

In diesem Tutorial zeigen wir Ihnen die grundlegende Verwendung von Ansible AWX. Sie benötigen also einen Server, auf dem Ansible AWX bereits installiert ist. Wir behandeln einige grundlegende Konfigurationen von Ansible AWX, die Sie kennen müssen, wie z. B. Einrichtungsdaten, Inventare, Einrichtung und Ausführung von Auftragsvorlagen usw. Wenn Sie Ansible noch nicht installiert haben, sehen Sie sich bitte dieses Tutorial an: https://www.howtoforge .com/how-to-install-ansible-awx-with-nginx-reverse-proxy-on-ubuntu-1804/.

Voraussetzungen

  • 2 oder 3 Server
    • 10.5.5.20   ansible-awx
    • 10.5.5.21   Lemp
  • Grundlegendes Verständnis von Ansible
  • Root-Rechte

Was wir tun werden:

  1. Einrichtung und Konfiguration der Umgebung
  2. Zugangsdaten einrichten
  3. Bestände einrichten
  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 über das Ansible AWX-Dashboard bereitstellen und ausführen.

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

10.5.5.20   ansible-awx
10.5.5.21   lemp

Jetzt werden wir das Playbook als Benutzer namens „hakase“ bereitstellen und die schlüsselbasierte SSH-Authentifizierung verwenden. Stellen Sie also sicher, dass Sie die benutzer- und schlüsselbasierte Authentifizierung bereits auf dem Zielcomputer „lemp“ eingerichtet haben.

Testen Sie mit dem folgenden Befehl aus dem 'ansible-awx '-Server.

su - hakase
ssh [email protected]

Stellen Sie sicher, dass Sie ohne Passwort angemeldet sind.

Jetzt muss der 'hakase'-Benutzer das Root-Passwort zum Ausführen von Aufgaben haben.

Auf der Zielmaschine 'lemp ', führen Sie den sudo-Befehl wie folgt aus.

su - hakase
sudo su

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

Jetzt müssen Sie die Python-Pakete auf allen von Ansible verwalteten Zielcomputern installieren.

sudo apt install python -y

Schritt 2 – Anmeldedaten einrichten

Zunächst müssen wir die Ansible AWX Credentials konfigurieren. Es wird zur Authentifizierung beim Starten und Ausführen von Jobs auf verwalteten Servern, beim Synchronisieren mit Inventarquellen und beim Importieren von Projekten verwendet.

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

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

Geben Sie nun die Anmeldedaten „NAME“ ein ' und 'BESCHREIBUNG ' und geben Sie dann den 'CREDENTIAL TYPE an ' zu 'Maschine '.

Mit den Anmeldeinformationen „Maschine“ können Sie einfach die SSH-Authentifizierung zum Verwalten von Servern verwenden. Seine Unterstützung für passwort- 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.

Klicken Sie dann auf 'SPEICHERN ' Schaltfläche.

Als Ergebnis wurde der neue Ansible AWX-Anmeldedatentyp „Machine“ erstellt.

Schritt 3 – Lagerbestände einrichten

Inventare sind Gruppen von Hostservern, die von Ansible AWX verwaltet werden. Mit den Inventaren können Sie eine Gruppe mit mehreren Hostservern erstellen. Und es erleichtert die Verwaltung verschiedener Server mit unterschiedlichen Umgebungen.

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

Um neues Inventar hinzuzufügen, klicken Sie auf "Inventare". ' Menü auf der linken Seite und klicken Sie dann auf '+' Schaltfläche und wählen Sie das 'Inventar'.

Geben Sie den 'NAMEN ein ' und 'BESCHREIBUNG ' des Inventars und klicken Sie dann auf 'SPEICHERN ' Schaltfläche.

Klicken Sie nun auf die 'HOSTS ' und klicken Sie auf das '+' Schaltfläche, um neue Hosts hinzuzufügen.

Geben Sie den 'HOSTNAMEN ein ', 'BESCHREIBUNG ' und die 'VARIABLEN ' mit zusätzlicher Konfiguration für die IP-Adresse des Zielcomputers 'ansible_host:10.5.5.21'.

Klicken Sie nun auf 'SPEICHERN ' Schaltfläche.

Als nächstes müssen wir die Hostkonfiguration sicherstellen, indem wir die Hosts mit dem Ping-Befehl überprüfen.

Zurück zu den 'HOSTS ', markieren Sie den Nameserver Ihres Hosts und klicken Sie auf 'BEFEHLE AUSFÜHREN ' Schaltfläche.

Wählen Sie nun das 'MODUL ' namens 'ping ', klicken Sie auf die Suchschaltfläche innerhalb der 'MASCHINEN-ANMELDEDATEN ' und 'AUSWÄHLEN ' Ihre eigene und klicken Sie dann auf 'STARTEN ' Schaltfläche.

Und Sie werden auf die neue Seite weitergeleitet und unten ist das Ergebnis.

Ein neues Inventar wurde erstellt und der Zielcomputerserver wurde hinzugefügt.

Schritt 4 - Projekte einrichten

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

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

Geben Sie den 'NAMEN ein ' Ihres Projekts und die 'DESCRIPTION ' und wählen Sie dann den 'SCM-TYP aus ' zu 'Git ' und fügen Sie Ihr Playbook-Repository ein.

Klicken Sie nun auf 'SPEICHERN ' und als Ergebnis wurde ein neues Projekt für das Playbook erstellt.

Zusätzlich:

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

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

Schritt 5 – Neue Jobvorlagen erstellen

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

Für diesen Leitfaden haben wir bereits ein neues Projekt, einen neuen Berechtigungsnachweis und ein neues Inventar erstellt. Klicken Sie einfach auf „Vorlagen“. ' Menü auf der linken Seite und klicken Sie dann auf das '+' und wählen Sie die 'Jobvorlage ' Option.

Jetzt müssen Sie den 'NAME eingeben ' und 'BESCHREIBUNG ' der Arbeit. Wählen Sie dann das 'INVENTAR ', 'NACHWEIS ' und das 'PROJEKT '. Geben Sie danach das 'PLAYBOOK an ', die Sie ausführen und bereitstellen möchten.

Und als Ergebnis wurde das neue Job-Template Ansible AWX erstellt.

Schritt 6 – Führen Sie die Jobvorlage aus

Nach dem Erstellen der neuen Jobvorlage führen wir die Jobvorlage aus und stellen die „Projekte“ der Playbooks auf Zielhosts im „Inventar“ bereit.

Klicken Sie auf „Vorlagen“. ' Menü auf der linken Seite und Sie erhalten Listen mit verfügbaren Jobvorlagen.

Sobald der Auftrag abgeschlossen ist, erhalten Sie das grüne Zeichen im Namen der Auftragsvorlage.

Klicken Sie auf das grüne Zeichen innerhalb des Namens der Jobvorlage und Ihnen wird das tatsächliche Ergebnis dieses Jobs angezeigt.

Der Auftrag wurde erfolgreich abgeschlossen und auf dem Zielcomputer wurde der LEMP-Stack über Ansible AWX installiert.

Schritt 7 – Testen des Zielcomputers

Testen des Domänennamens des Zielcomputers. Die unter 'roles/web/vars/main.yml gespeicherte Domänennamenkonfiguration ' Konfiguration.

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

systemctl status nginx
systemctl status php7.2-fpm

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

Als Ergebnis wurde der LEMP-Stack über Ansible AWX auf dem Zielcomputer installiert.


Linux
  1. Grundlegende PHP 7- und Nginx-Konfiguration unter Ubuntu 16.04 Linux

  2. Apache mit Tomcat, eine Schritt-für-Schritt-Anleitung zur Installation und Konfiguration

  3. Gewusst wie:DRBD-Replikation und -Konfiguration

  4. Anfängerleitfaden für Samba (Installation und Konfiguration)

  5. Verwendung von Platzhaltern unter Linux in cp und mv

Docker:Installation und grundlegende Nutzung unter Ubuntu 16.04

Installieren und konfigurieren Sie Ansible unter Linux

Ansible Inventar- und Konfigurationsdateien

Anleitung zur Erstkonfiguration von WHM und cPanel unter CentOS 7.x

LILO Linux Bootloader Konfiguration und Anleitung

Anfängerleitfaden für Apache HTTP Server – Installation und Konfiguration