In questo tutorial, imparerai come funziona l'Ansible Dry_Run e come usarlo nei tuoi playbook.
Cos'è Ansible Dry_run?
Ansible Dry_run, noto anche come modalità di controllo, è una funzione che consente di controllare un playbook prima di eseguirlo su host remoti. Utilizzando la funzione DRY_RUN, è possibile verificare se un playbook è valido senza apportare modifiche effettive sul server. Utilizza la funzione di controllo integrata Ansible per leggere e provare gli errori nei playbook prima che vengano applicati alle macchine remote.
Un uso comune della funzione Ansible Dry_Run è quando si dispone di un playbook enormemente complesso che può causare tempi di inattività sui servizi sugli host remoti. Ad esempio, è possibile utilizzare la funzione Dry_Run per verificare se il playbook è corretto prima di riavviare i servizi.
Come usare Ansible Dry_run
Il modo più semplice per utilizzare la funzione Dry_Run è includere le opzioni -Check o -c nel comando Ansible -Playbook.
Facciamo un esempio di un playbook che installa un firewall Apache HTTP e UFW e crea una regola per consentire il traffico HTTP sulla porta 80.
---
- Host: tutto
diventa vero
Gather_Facts: no
compiti:
- Nome: installa Apache HTTP Server
Apt:
Nome: Apache2
update_cache: sì
Stato: ultimo
- Nome: Installa firewall
Apt:
Nome: ufw
Stato: ultimo
- Nome: Consenti apache su firewall
UFW:
Regola: consentire
Porta: "80"
Proto: TCP
Salva il playbook ed eseguilo in modalità di controllo come mostrato nel comando seguente:
Ansible-Playbook check-playbook --check
Il comando sopra eseguirà il playbook in modalità di controllo. Noterai che l'output è simile a quando esegui il playbook. Tuttavia, Ansible riporta solo le modifiche che sarebbero state applicate agli host remoti.
Il secondo metodo che è possibile utilizzare la funzione Ansible Dry_Run consiste nell'utilizzare il parametro check_mode nel playbook.
Il check_mode è un valore booleano che specifica se un'attività deve essere eseguita in modalità di controllo.
Il seguente playbook di esempio dice ad Ansible di eseguire l'attività "Installa Apache" in modalità di controllo.
---
- Host: tutto
diventa vero
Gather_Facts: no
compiti:
- Nome: installa Apache HTTP Server
Apt:
Nome: Apache2
update_cache: sì
Stato: ultimo
check_mode: sì
Modalità Diff ansible
Ansible ti fornisce anche una modalità Diff. La modalità Diff consente di visualizzare le modifiche prima e dopo l'esecuzione di un'attività.
Per utilizzare la modalità Diff in Ansible, utilizzare l'opzione -diff con il comando Ansible -Playbook.
L'output sopra mostra le modifiche apportate durante l'installazione del pacchetto Apache HTTP.
È possibile utilizzare la modalità Diff e Dry_Run per ottenere più output come:
Ansible-Playbook-Diff --check
Il comando sopra dovrebbe fornire output dettagliati sulle modifiche apportate a un host remoto.
Incartare
Questa guida ti dà una procedura dettagliata della funzione Ansible Dry_Run e come puoi usarla per verificare i tuoi playbook. Utilizzando la funzione DRY_RUN, è possibile verificare gli errori e comprendere le modifiche da eseguire su host remoti prima che si verifichino.
Grazie per aver letto!