Per eseguire un'attività automatizzata su un host remoto con Ansible, è necessario riempire e lavorare con determinate variabili, come prevedibile. Ad esempio, questo tipo di attività è necessario per mettere online un host remoto, consentire i privilegi di accesso e utente e impostare un ambiente Python.
È possibile SSH in un host remoto e verificare se l'host soddisfa tutti i criteri. Tuttavia, come strumento di automazione, Ansible fornisce moduli che consentono di eseguire questi noiosi compiti che richiedono tempo in una singola riga di comando.
Questo tutorial mostra come utilizzare il modulo ping incorporato Ansible per eseguire varie variabili impostate su host remoti. La richiesta di ping Ansible è uno strumento semplice ma utile che è possibile utilizzare per testare la disponibilità e la praticità degli host remoti.
Ora daremo uno sguardo più da vicino a come funziona il ping ansible.
NOTA: Questa sezione è in qualche modo teorica. Se tutto ciò di cui hai bisogno è la parte tecnica dell'articolo, puoi saltare questa sezione. Anche così, ti consigliamo di leggere questa sezione, in quanto fornisce alcune informazioni utili e informazioni sul modulo Ping.
Con questo notato, ora andremo avanti per introdurre il modulo ping.
Informazioni sul modulo ping ansible
La richiesta di ping Ansible controlla l'host remoto. Questo modulo controlla specificamente:
Dopo l'invio di una richiesta di ping all'host remoto, il modulo restituisce un valore che indica se il ping ha avuto successo. Per impostazione predefinita, il modulo ping restituisce la stringa "pong" al successo e un'eccezione su errore (se specificato).
Suggerimento professionale: Per assicurarsi che i tuoi playbook Ansible sugli host remoti target non falliscano, utilizzare il modulo ping per verificare se i requisiti sono soddisfatti e svolgono le attività solo se si ottiene un output riuscito.
Caratteristiche del modulo Ansible Ping
Il modulo ping è abbastanza semplice e il seguente è un elenco delle funzionalità fornite da questo modulo:
Come usare il modulo ansible ping
Ora esamineremo alcuni esempi che usano il modulo ping ansible.
Usando il comando ad hoc ping
Il modo più semplice per eseguire il modulo ping ansible è eseguire un semplice comando ad hoc nel terminale.
Il comando ad hoc è il seguente:
ansible tutto -m ping -v
Il comando sopra inizia chiamando Ansible, seguito dal modello specifico dell'host. In questo caso, vogliamo ping "tutti" host. La parte successiva, '-m,' specifica il modulo che vogliamo usare. Il '-v' sta per Verbose.
Al successo, otterrai un output come quello mostrato di seguito:
Utilizzando/etc/ansible/ansible.CFG come file di configurazione 35.222.210.12
| Success =>
"Ansible_Facts":
"Discovered_Interpreter_python": "/usr/bin/python",
"cambiato": falso,
"ping": "pong"
Se gli host remoti non sono disponibili (forse sono offline), otterrai un output come quello mostrato di seguito:
Utilizzando/etc/ansible/ansible.CFG come file di configurazione 35.222.210.12
| IRRAGGIUNGIBILE! =>
"cambiato": falso,
"MSG": "Impossibile connettersi all'host tramite SSH: SSH: connettersi all'host 35.222.210.12 Porta 22: connessione scaduta ",
"Irraggiungibile": vero
Utilizzando il modulo ping nei playbook
Puoi anche usare il modulo ping all'interno di un playbook. Nella maggior parte dei casi, non costruirai un playbook che esegue solo una richiesta di ping. Tuttavia, è possibile avvolgere tutte le attività all'interno delle condizioni della richiesta di ping.
Considera il seguente semplice playbook:
- Host: tutto
Diventa: sì
compiti:
- ping
Potresti notare che nel playbook sopra, ho incluso la direttiva "diventa". Questo non è un requisito, ma ho incontrato casi in cui il modulo ping non riesce per un utente standard. Ora puoi eseguire il playbook e verificare se il server host soddisfa i requisiti per una risposta "pong" di successo.
Ansible-Playbook Ping.YML
Se il ping non ha successo, otterrai il seguente errore "irraggiungibile":
fatale: [35.222.210.12]: irraggiungibile! => "modificato": false, "msg": "non è riuscito a connettersi all'host tramite ssh: ssh: connettersi all'host 35.222.210.12 porta 22: connessione a tempo "," irraggiungibile ": true
Utilizzando l'eccezione di aumento con il modulo ping
È inoltre possibile specificare i dati come un arresto anomalo per indurre un'eccezione. Ciò cambia il ritorno predefinito da "pong" a "Crash.'
Considera il seguente playbook:
- Host: tutto
Diventa: sì
compiti:
- ping:
Crash: dati
L'esecuzione del playbook con eccezione dovrebbe restituire il seguente valore:
ansible-playbook ping_except.YML
Conclusione
Questo tutorial ti ha mostrato la diversa utilità del modulo ping. Sebbene questo modulo non contenga parametri complessi come la maggior parte dei moduli Ansible, contiene ancora potenti capacità. Ad esempio, è possibile utilizzare il modulo ping per verificare se un errore è dovuto a un ambiente Python mancante e creare un'attività per installare l'ambiente richiesto sull'host remoto.