In unserem vorherigen Artikel hatten wir bereits die Installationsschritte von Ansible AWX auf CentOS 8 und RHEL 8 demonstriert. Ansible AWX ist eine kostenlose und Open-Source-Version von Red Hat Ansible Tower. Es bietet eine grafische Benutzeroberfläche, eine Rest-API und eine Ansible-Task-Engine.
In diesem Artikel beleuchten wir die grundlegende Verwendung der Ansible AWX GUI und wie wir Ansible Playbooks mit diesem Tool ausführen und planen können.
Lab-Details für die AWX-GUI,
- 192.168.1.6 // Bereits installiertes Ansible AWX-System (CentOS 8)
- 192.168.1.9 // Ansible-Client (CentOS 7)
- 192.168.1.10 // Ansible-Client (Ubuntu 18.04)
- Zeitsynchronisierung aller Maschinen mit NTP-Servern
- sysadm-Benutzer mit sudo-Rechten
Lassen Sie uns in die Schritte der grundlegenden Verwendung von AWX und der Ausführung von Ansible-Playbooks über die AWX-GUI einsteigen,
Schritt 1) Schlüsselbasierte Authentifizierung zwischen Ansible AWX Node und seinen Clients einrichten
Da wir den sysadm-Benutzer verwenden, werden wir die ssh-Schlüssel dieses Benutzers vom Ansbile AWX-System an ansible Clients austauschen.
Ich gehe davon aus, dass der sysadm-Benutzer bereits auf diesen Systemen erstellt wurde und über die Sudo-Rechte verfügt. Verwenden Sie die folgenden Befehle, um SSH-Schlüssel für den sysadm-Benutzer vom AWX-Knoten zu generieren und seine öffentlichen Schlüssel mit dem Befehl ssh-copy-id für Ansible-Clients freizugeben,
[[email protected] ~]$ ssh-keygen
Kopieren Sie nun den öffentlichen Schlüssel des Benutzers sysadm auf die Clients
[[email protected] ~]$ ssh-copy-id [email protected] [[email protected] ~]$ ssh-copy-id [email protected]
Überprüfen Sie, ob die schlüsselbasierte Authentifizierung richtig eingerichtet wurde oder nicht, führen Sie die folgenden Befehle aus,
[[email protected] ~]$ ssh [email protected] "hostname;exit" centos7 [[email protected] ~]$ ssh [email protected] "hostname;exit" Ubuntu-18-04 [[email protected] ~]$
Schritt 2) Erstellen Sie eine Organisation in der AWX-GUI
Melden Sie sich bei der Ansible AWX GUI an und gehen Sie zu Organisation Tippen Sie auf und erstellen Sie eine Organisation, indem Sie auf das Symbol „+“ klicken,
Als nächstes werden wir aufgefordert, den Organisationsnamen einzugeben,
Klicken Sie auf Speichern
Schritt 3) Erstellen Sie ein Projekt und weisen Sie ihm eine Organisation zu
Bevor wir ein Projekt erstellen, erstellen wir zunächst ein Projektverzeichnis, in dem wir alle ansiblen Playbooks speichern, gehen zur CLI-Konsole des AWX-Knotens und führen es aus,
[[email protected] ~]$ sudo mkdir /var/lib/awx/projects/automation
Erstellen Sie jetzt ein Beispiel-Playbook, um bind-utils-Pakete auf CentOS- und Ubuntu-Systemen zu installieren,
[[email protected] ~]$ cd /var/lib/awx/projects/automation/ [[email protected] automation]$ sudo vi example.yaml --- - hosts: all gather_facts: true become: true tasks: - yum: name: bind-utils when: ansible_os_family == "RedHat" - apt: name: dnsutils when: ansible_os_family == "Debian"
Speichern und beenden Sie die Datei,
Gehen Sie jetzt zu AWX GUI, wählen Sie Projekte Tippen Sie auf und klicken Sie dann auf + Zeichen, um ein neues Projekt zu erstellen, und geben Sie den Namen des Projekts an, das zu Ihrer Einrichtung passt, und geben Sie andere Details wie Organisationen an als „LINUXTECHI“ , SCM-Typ als „Manuell“ , Basispfad des Projekts als „/var/lib/projects“ und Playbook-Verzeichnis als „Automatisierung ”
Klicken Sie auf Speichern
Schritt 4) Anmeldedaten erstellen und privaten Schlüssel und andere Details hinzufügen
Diese Anmeldeinformationen werden beim Ausführen der Playbooks auf Ansible-Zielclients verwendet. Führen Sie den folgenden Befehl aus, um den Inhalt des privaten SSH-Schlüssels des Benutzers sysadm abzurufen:
[[email protected] ~]$ cat ~/.ssh/id_rsa
Wählen Sie nun Anmeldedaten aus Tippen und klicken Sie auf das „+“-Zeichen, um Anmeldedaten zu erstellen, und wählen Sie Anmeldedatentyp als „Maschine “, Wählen Sie Organisation als „LINUXTECHI “, Benutzername als „sysadm “ und fügen Sie den privaten Schlüssel des sysadm-Benutzers in „Privater SSH-Schlüssel ein Wählen Sie im Abschnitt "Privilege Escalation Method" aus ‘ als ‚sudo ‘, ‘Benutzername für die Rechteausweitung ‘ als ‚sysadm ‘ und ‚Privilege Escalation Password’ als {Passwort-des-sysadm-Benutzers}
Klicken Sie auf SPEICHERN,
Schritt 5) Erstellen Sie ein Inventar, fügen Sie Hosts hinzu und führen Sie das Ping-Modul aus
Um ein Inventar zu erstellen, wählen Sie Inventar aus Tippen Sie auf und klicken Sie dann auf + Zeichen und geben Sie den Namen des Inventars an und wählen Sie als Organisation „LINUXTECHI “,
Zum Hinzufügen von Hosts zum Frontend Inventar, Wählen Sie im obigen Fenster die Option SPEICHERN und klicken Sie dann auf HOSTS und das Symbol „+“, um mit dem Hinzufügen von Hosts zu beginnen. Geben Sie die IP-ADRESSE oder den Hostnamen im Feld „HOSTNAME“ an ” ein und klicken Sie dann auf Speichern.
Fügen Sie auf ähnliche Weise einen weiteren Host „192.168.1.10“ hinzu.
Versuchen wir, das Ping-Modul auf einem der Hosts auszuführen, um die Konnektivität und die Anmeldeinformationen zu überprüfen. Wählen Sie einen der Hosts aus dem Inventar und klicken Sie auf „BEFEHLE AUSFÜHREN“. ”
Wählen Sie im nächsten Fenster „Ping“. ‘ aus dem Modulabschnitt und wählen Sie „Automatisierungsdaten ” aus Maschinenanmeldeinformationen,
Klicken Sie auf Starten und dann erhalten Sie den folgenden Bildschirm,
Perfekt, das obige Fenster bestätigt, dass die Konnektivität und die Anmeldeinformationen einwandfrei funktionieren. Fahren wir mit dem nächsten Schritt fort und erstellen Vorlagen.
Schritt 5) Jobvorlage erstellen und ausführen
Wählen Sie zum Erstellen einer Jobvorlage „Vorlage“. ” Tab und klicken Sie auf das + Zeichen und wählen Sie “Job Template”. ”
Geben Sie Folgendes an als:
- NAME :PKG-Installation
- Beschreibung :Bind Utils PKG installieren
- JOBTYP:Ausführen
- INVENTAR :Frontend
- PROJEKT:Automatisierung
- PLAYBOOK :example.yaml
- CREDENTIALS :Anmeldeinformationen für die Automatisierung
- Wählen Sie „PRIVILEGENERWEITERUNG AKTIVIEREN“
Klicken Sie auf SPEICHERN
Versuchen Sie nun, den Job auszuführen, und prüfen Sie, ob der Job erfolgreich ausgeführt wird. Hier ist die Ausführung des Jobs nichts anderes als die Ausführung des Ansible-Playbooks im Inventar unter Verwendung der Anmeldeinformationen, die wir in den obigen Schritten erstellt haben.
Wählen Sie den Job als „PKG Install “ und klicken Sie auf das Raketensymbol, um den Job auszuführen,
Wir erhalten den folgenden Bildschirm, wenn Job oder Ansible Playbook erfolgreich ausgeführt wird, sollten wir eine Erfolgsmeldung erhalten.
Großartig, Job wurde erfolgreich ausgeführt, lassen Sie diesen Job planen.
Schritt 6) Auftragsvorlage planen
Wählen Sie die Auftragsvorlage aus, die Sie planen möchten, in meinem Fall wäre dies „PKG Install“. “ und dann „ZEITPLAN ”-Option und klicken Sie auf das +-Zeichen, um einen neuen Zeitplan zu erstellen,
Nehmen wir an, wir möchten einen Zeitplan so erstellen, dass der Job bis zum 30. April jeden Tag um 16:00 Uhr ausgeführt wird
Klicken Sie auf Speichern, um diesen Zeitplan für die Jobvorlage „PKG Install“ zu aktivieren “.
Das ist alles aus diesem Artikel. Ich hoffe, diese Schritte helfen dabei, die grundlegende Verwendung der Ansible AWX GUI zu verstehen und wie Ansible Playbooks über die Jobvorlage ausgeführt werden. Bitte zögern Sie nicht, Ihr Feedback und Ihre Kommentare zu teilen.