Ansible

Come utilizzare il modulo Ansible Ping

Come utilizzare il modulo Ansible Ping

Per eseguire un'attività automatizzata su un host remoto con Ansible, è necessario compilare e lavorare con determinate variabili, come previsto. Ad esempio, questo tipo di attività è necessario per mettere online un host remoto, consentire i privilegi di accesso e utente e configurare un ambiente Python.

È possibile eseguire 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 queste attività noiose e dispendiose in termini di tempo in un'unica riga di comando.

Questo tutorial mostra come utilizzare il modulo ping integrato di Ansible per eseguire varie variabili impostate su host remoti. La richiesta ping di Ansible è uno strumento semplice ma utile che puoi utilizzare per testare la disponibilità e la praticità degli host remoti.

Ora daremo un'occhiata più da vicino a come funziona il ping di 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 alcuni spunti e informazioni utili sul modulo ping.

Detto questo, passeremo ora all'introduzione del modulo ping.

Informazioni sul modulo ping Ansible

La richiesta di ping di Ansible viene verificata sull'host remoto. Questo modulo verifica in particolare:

Dopo che una richiesta di ping è stata inviata 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' in caso di successo e un'eccezione in caso di errore (se specificato).

SUGGERIMENTO PRO: per garantire che i playbook Ansible sugli host remoti di destinazione non si guastino, utilizzare il modulo ping per verificare se i requisiti sono soddisfatti ed eseguire le attività solo se si ottiene un output corretto.

Caratteristiche del modulo Ansible ping

Il modulo ping è abbastanza semplice e di seguito è riportato un elenco delle funzionalità fornite da questo modulo:

Come utilizzare il modulo ping di Ansible

Ora esamineremo alcuni esempi che utilizzano il modulo Ansible ping.

Utilizzo del comando ping AD HOC

Il modo più semplice per eseguire il modulo Ansible ping è eseguire un semplice comando AD HOC nel terminale.

Il comando AD HOC è il seguente:

ansible all -m ping -v

Il comando precedente inizia chiamando Ansible, seguito dal modello specifico dell'host. In questo caso, vogliamo eseguire il ping di "tutti" gli host. La parte successiva, '-m,' specifica il modulo che vogliamo usare. La '-v' sta per verbose.

In caso di successo, otterrai un output come quello mostrato di seguito:

Utilizzo di /etc/ansible/ansible.cfg come file di configurazione 35.222.210.12
| SUCCESSO =>
"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:

Utilizzo di /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

Utilizzo del modulo ping in Playbooks

Puoi anche usare il modulo ping all'interno di un playbook. Nella maggior parte dei casi, non creerai un playbook che esegua solo una richiesta di ping. Tuttavia, puoi racchiudere tutte le attività all'interno delle condizioni della richiesta ping.

Considera il seguente semplice playbook:

- host: tutti
diventa: sì
compiti:
- ping

Potresti notare che nel playbook sopra ho incluso la direttiva "diventa". Questo non è un requisito, ma ho riscontrato casi in cui il modulo ping fallisce 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 riesce, riceverai il seguente errore "non raggiungibile":

fatale: [35.222.210.12]: IRRAGGIUNGIBILE! => "changed": false, "msg": "Impossibile connettersi all'host tramite ssh: ssh: connettersi all'host 35.222.210.12 porta 22: Timeout connessione", "non raggiungibile": true

Utilizzo dell'eccezione raise con il modulo ping

Puoi anche specificare i dati come un arresto anomalo per indurre un'eccezione. Questo cambia il ritorno predefinito da "pong" a "crash".'

Considera il seguente playbook:

- host: tutti
diventa: sì
compiti:
- ping:
crash: dati

L'esecuzione del playbook con eccezione dovrebbe restituire il seguente valore:

ansible-playbook ping_eccetto.yml

Conclusione

Questo tutorial ti ha mostrato le diverse utilità del modulo ping. Sebbene questo modulo non contenga parametri complessi come la maggior parte dei moduli Ansible, contiene comunque potenti capacità. Ad esempio, puoi 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.

I 5 migliori mouse per computer ergonomici per Linux
L'uso prolungato del computer provoca dolore al polso o alle dita?? Soffri di rigidità articolare e devi continuamente stringerti la mano? Senti un do...
Come modificare le impostazioni del mouse e del touchpad utilizzando Xinput in Linux
La maggior parte delle distribuzioni Linux viene fornita con la libreria "libinput" per impostazione predefinita per gestire gli eventi di input su un...
Rimappa i pulsanti del mouse in modo diverso per software diversi con X-Mouse Button Control
Forse hai bisogno di uno strumento che possa cambiare il controllo del tuo mouse con ogni applicazione che utilizzi. In questo caso, puoi provare un'a...