Introduzione
Ansible è uno strumento Infrastructure as Code che consente di utilizzare un unico nodo di controllo per monitorare e gestire i server remoti.
Ansible ti consente di gestire i server remoti creando playbook, che contengono elenchi di attività che i server remoti devono eseguire. Fornisce inoltre una modalità di verifica in cui puoi testare un playbook.
Questo tutorial ti mostra come eseguire una prova a secco di un playbook Ansible utilizzando la funzione di modalità di verifica integrata.
Prerequisiti
- Un sistema Linux (stiamo usando Ubuntu 20.04)
- Accesso alla riga di comando/finestra del terminale
- Ansible installato e configurato (consulta le nostre guide su Installazione di Ansible su Windows o Installazione di Ansible su Ubuntu)
Quando utilizzare Ansible Dry Run
Utilizzando la corsa a secco di Ansible la funzione consente agli utenti di eseguire un playbook senza apportare modifiche ai server. Utilizza la modalità di controllo integrata per verificare la presenza di errori in un playbook prima dell'esecuzione.
Questa opzione è molto utile quando si eseguono playbook complessi che contengono comandi che apportano modifiche importanti ai server. Utilizzando la corsa a secco la funzione aiuta a trovare errori irreversibili prima che chiudano i server e li rendano inutilizzabili.
Ansible Dry Run:esecuzione di Playbook in modalità di verifica
Il modo più semplice per eseguire un test in Ansible è utilizzare la check mode
. Questa modalità funziona come il --syntax-check
comando, ma a livello di playbook.
Modalità di verifica
Usa il -C
o --check
segnala con il ansible-playbook
comando per eseguire un test a secco di un playbook Ansible:
ansible-playbook playbook.yaml --check
Ciò produce lo stesso output dell'esecuzione effettiva del playbook, tranne per il fatto che riporterà le modifiche che avrebbe apportato anziché apportarle.
Un altro modo per eseguire un playbook in modalità di verifica consiste nell'aggiungere la check_mode
parametro al contenuto del playbook:
---
- hosts: all
tasks:
- name: A command to run in check mode
command: /your/command
check_mode: on
Opzione Diff
Usando il --diff
segnala con il ansible-playbook
comando segnala quali modifiche sono state apportate durante l'esecuzione del playbook:
ansible-playbook playbook.yaml --diff
Usando il --diff
flag produce un output lungo, quindi è meglio utilizzarlo quando si verifica la presenza di modifiche su un singolo host.
Combinazione di Check e Diff
Combinando il --check
e --diff
segnala con il ansible-playbook
Il comando ti offre una panoramica più dettagliata di tutte le modifiche apportate dal tuo playbook:
ansible-playbook playbook.yaml --check --diff
Questo produce lo stesso output dettagliato che ottieni quando usi il --diff
flag, ma senza eseguire effettivamente nessuna delle modifiche.
Quando non utilizzare Ansible Dry Run
Utilizzando la corsa a secco è utile per la gestione della configurazione di base nodo per nodo.
Tuttavia, se il tuo playbook contiene attività condizionali o basate sui risultati, non funzionerà in modalità di controllo. Questo perché le condizioni per tali attività non possono essere soddisfatte senza eseguire effettivamente il playbook e apportare modifiche.