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

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

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.


Linux
  1. Ansible Playbook:So erstellen und konfigurieren Sie Playbooks

  2. So installieren und testen Sie Ansible unter Linux

  3. So erstellen Sie ein Ansible-Playbook

  4. Verwenden eines Ansible-Playbooks zum Verwalten von Workstation- und Server-Updates

  5. So übergeben Sie zusätzliche Variablen an ein Ansible-Playbook

So erstellen und führen Sie ein C-Programm mit Ubuntu 20.04 LTS aus

So definieren und verwenden Sie Handler in Ansible Playbooks

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

So automatisieren Sie die Podman-Installation und -Bereitstellung mit Ansible

So führen Sie Linux-Apps unter Windows 10 und 11 mit WSL aus

So führen Sie Linux-GUI-Apps unter Windows 10 mit WSL und WSLg aus