Ansible Notify quando modificato

Ansible Notify quando modificato
In Ansible, un gestore si riferisce a un compito particolare che esegue se attivato dal modulo Notify. I gestori eseguono un'azione definita nell'attività quando si verifica una modifica nell'host remoto.

I gestori sono utili quando è necessario eseguire un'attività che si basa sul successo o sul fallimento di un'attività specifica. Ad esempio, è possibile impostare un gestore per inviare registri Apache se il servizio scende.

Questo articolo ti aiuterà a capire come definire e utilizzare il gestore Ansible nei playbook.

Uso di base

Per illustrare come usare il gestore Ansible, lasciaci un semplice esempio. Il playbook di seguito installerà il server Apache HTTP e utilizzerà un gestore per avviare il servizio.

---
- Host: tutto
diventa vero
Gather_Facts: no
compiti:
- Nome: "Installa Apache"
pacchetto:
Nome: Apache2
Stato: presente
notificare:
startpache
gestori:
- Nome: Startapache
servizio:
Nome: Apache2
Stato: iniziato

Nell'esempio di playbook sopra, iniziamo installando il server Apache2 utilizzando il modulo pacchetto. Quindi utilizziamo un modulo di notifica per impostare un'azione di notifica.

Il passaggio finale è configurare un gestore da eseguire dopo l'installazione del server. Il nome della notifica dovrebbe essere uguale al nome usato nel modulo gestore. Altrimenti, il gestore specificato fallirà.

Salva ed esegui il playbook sopra:

ansible-playbookhandlers.YML

Come configurare Ansible Notify Handler per il messaggio di avviso

È inoltre possibile configurare un gestore Ansible per visualizzare un messaggio invece di intraprendere azioni come il riavvio dei servizi.

Ad esempio, il playbook di seguito riavvia il servizio Apache e visualizza un messaggio all'utente.

---
- Host: tutto
diventa vero
compiti:
- Nome: "Riavvia Apache"
servizio:
Nome: Apache2
Stato: riavviato
notificare:
Apacherestarted
gestori:
- Nome: ApacheRestarted
debug:
MSG: "Il servizio Apache è stato riavviato correttamente"

Nell'esempio sopra, registriamo un semplice gestore che mostra un messaggio di successo quando viene riavviato il servizio Apache.

Di seguito è riportato un output di esempio:

Task [Riavvia Apache]
*********************
Cambiato: [192.168.0.111]
Responsabile in esecuzione [Apache Riavviato]
**********************************
OK: [192.168.0.111] =>
"MSG": "Il servizio Apache è stato riavviato correttamente."

Come configurare Ansible Notify Handler per più gestori

Supponiamo di voler aggiornare il sistema e riavviare due servizi dopo l'aggiornamento. Come mostrato nel playbook qui sotto, è possibile definire due gestori da eseguire come azioni:

---
- Host: tutto
diventa vero
compiti:
- Nome: "Aggiorna il sistema"
Apt:
update_cache: sì
Aggiornamento: dist
notificare:
-Apache
-mysql
gestori:
- Nome: Apache
servizio:
Nome: Apache2
Stato: riavviato
- Nome: Mysql
servizio:
Nome: mysqld
Stato: riavviato

In questo esempio di playbook, aggiorniamo il sistema utilizzando il modulo APT. Successivamente, utilizziamo i moduli di notifica per definire due attività.

Utilizzando i gestori, definiamo le azioni per ogni attività di notifica. Nel nostro esempio, abbiamo riavviato sia Apache che MySQL Services.

Conclusione

Questo tutorial ti ha mostrato come definire e utilizzare il modulo Ansible Notify e Handlers per eseguire un'azione in cui un'attività è completa.