Nel nostro precedente articolo avevamo già dimostrato i passaggi di installazione di Ansible AWX su CentOS 8 e RHEL 8. Ansible AWX è una versione gratuita e open source di Red Hat Ansible Tower. Fornisce un'interfaccia utente grafica, un'API Rest e un motore di attività Ansible.
In questo articolo esamineremo alcune informazioni sull'utilizzo di base della GUI di Ansible AWX e su come eseguire e programmare Ansible Playbook utilizzando questo strumento.
Dettagli del laboratorio per la GUI AWX,
- 192.168.1.6 // Sistema Ansible AWX già installato (CentOS 8)
- 192.168.1.9 // Ansible Client (CentOS 7)
- 192.168.1.10 // Cliente Ansible (Ubuntu 18.04)
- Sincronizzazione oraria di tutte le macchine con Server NTP
- Utente sysadm con diritti sudo
Passiamo ai passaggi dell'utilizzo di base di AWX e all'esecuzione dei playbook Ansible tramite la GUI di AWX,
Passaggio 1) Configurazione dell'autenticazione basata su chiavi tra Ansible AWX Node e i suoi client
Poiché stiamo utilizzando l'utente sysadm, scambieremo le chiavi ssh di questo utente dal sistema Ansbile AWX ai client ansible.
Presumo che l'utente sysadm sia già creato su questi sistemi e abbia i diritti sudo. Utilizzare i comandi seguenti per generare chiavi SSH per l'utente sysadm da AWX Node e condividere le sue chiavi pubbliche con client ansible utilizzando il comando ssh-copy-id,
[[email protected] ~]$ ssh-keygen
Ora copia la chiave pubblica dell'utente sysadm sui client
[[email protected] ~]$ ssh-copy-id [email protected] [[email protected] ~]$ ssh-copy-id [email protected]
Verifica se l'autenticazione basata su chiavi è stata configurata correttamente o meno, esegui i seguenti comandi,
[[email protected] ~]$ ssh [email protected] "hostname;exit" centos7 [[email protected] ~]$ ssh [email protected] "hostname;exit" Ubuntu-18-04 [[email protected] ~]$
Passaggio 2) Crea un'organizzazione nella GUI di AWX
Accedi alla GUI di Ansible AWX e vai a Organizzazione Tab e crea un'organizzazione facendo clic sul simbolo "+",
Successivamente ci verrà chiesto di inserire il nome dell'organizzazione,
Fare clic su Salva
Fase 3) Crea un progetto e assegnagli un'organizzazione
Prima di creare un progetto, creiamo prima la directory del progetto in cui memorizzeremo tutti i playbook disponibili, andiamo alla console cli del nodo AWX ed eseguiamo,
[[email protected] ~]$ sudo mkdir /var/lib/awx/projects/automation
Ora crea un playbook di esempio per installare i pacchetti bind-utils su CentOS e sistemi Ubuntu,
[[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"
Salva ed esci dal file,
Ora vai su AWX GUI, seleziona Progetti Tab e quindi fai clic sul segno + per creare un nuovo progetto e specificare il nome del progetto che si adatta alla tua configurazione e specificare altri dettagli come Organizzazioni come "LINUXTECHI" , Tipo SCM come "Manuale" , Percorso di base del progetto come "/var/lib/projects" e Directory Playbook come "automazione ”
Fare clic su Salva
Passaggio 4) Crea le credenziali e aggiungi la chiave privata e altri dettagli
Queste credenziali verranno utilizzate durante l'esecuzione dei playbook su client ansible target. Per ottenere il contenuto della chiave privata SSH dell'utente sysadm, eseguire il comando seguente:
[[email protected] ~]$ cat ~/.ssh/id_rsa
Ora, seleziona Credenziali Tab e fai clic sul segno "+" per creare le credenziali e scegli Tipo di credenziali come "Macchina ", Scegli Organizzazione come “LINUXTECHI “, Nome utente come "sysadm " e Incolla la chiave privata dell'utente sysadm in "Chiave privata SSH "Sezione, scegli "Metodo di escalation dei privilegi ' come 'sudo ', 'Nome utente escalation privilegi ' come 'sysadm ' e 'Password per l'escalation dei privilegi' come {password-of-sysadm-user}
Fare clic su SALVA,
Passaggio 5) Crea un inventario, aggiungi host ad esso ed esegui il modulo ping
Per creare un inventario, seleziona Inventario Tab e poi clicca sul segno + e specifica il nome dell'Inventario e scegli l'organizzazione come “LINUXTECHI “,
Per aggiungere host a Frontend Inventario, scegli l'opzione SALVA nella finestra in alto, quindi fai clic su HOSTS e fare clic sul simbolo "+" per iniziare ad aggiungere host, specificare l'INDIRIZZO IP o il nome host in "NOME HOST ” e quindi fare clic su salva.
Allo stesso modo aggiungi un altro host "192.168.1.10".
Proviamo a eseguire il modulo ping su uno degli host per verificare connettività e credenziali. Scegli uno degli host dall'inventario e fai clic su "ESEGUI COMANDI ”
Nella finestra successiva, scegli "ping ' dalla sezione del modulo e scegli "credenziali di automazione ” da credenziali macchina,
Fai clic su Avvia e quindi otterremo la seguente schermata,
Perfetto, la finestra sopra conferma che la connettività e le credenziali funzionano correttamente. Passiamo al passaggio successivo e creiamo i modelli.
Fase 5) Crea ed esegui un modello di lavoro
Per creare un modello di lavoro, scegli "Modello ” Scheda e fai clic sul segno + e scegli “Modello di lavoro ”
Specificare quanto segue come:
- NOME:Installazione PKG
- Descrizione:Installa Bind Utils PKG
- TIPO DI LAVORO:Esegui
- INVENTARIO:Frontend
- PROGETTO:Automazione
- PLAYBOOK:esempio.yaml
- CREDENTI:credenziali di automazione
- Scegli "ABILITA ESCALAZIONE PRIVILEGI"
Clicca su SALVA
Ora prova a eseguire il lavoro e verifica se il lavoro è stato eseguito correttamente, qui l'esecuzione del lavoro non è altro che l'esecuzione del playbook Ansible sull'inventario utilizzando le credenziali che abbiamo creato nei passaggi precedenti.
Seleziona il lavoro come "Installazione PKG ” e il clic su Rocket Symbol per eseguire il lavoro,
Otterremo la seguente schermata, se Job o Ansible Playbook vengono eseguiti correttamente, dovremmo ricevere un messaggio di successo.
Ottimo, il lavoro è stato eseguito correttamente, pianifica questo lavoro.
Fase 6) Programmazione del modello di lavoro
Scegli il modello di lavoro che desideri pianificare, nel mio caso sarebbe "Installazione PKG ” e scegli “PROGRAMMI ” e fare clic sul segno + per creare una nuova pianificazione,
Supponiamo di voler creare un programma in modo tale che il lavoro venga eseguito ogni giorno alle 16:00 fino al 30 aprile,
Fare clic su Salva per abilitare questa pianificazione per il modello di lavoro "Installazione PKG “.
Questo è tutto da questo articolo, spero che questi passaggi aiutino a comprendere l'utilizzo di base della GUI di Ansible AWX e come vengono eseguiti i Playbook Ansible tramite il modello di lavoro. Non esitare a condividere feedback e commenti.