Ansible

Comment utiliser le module Ansible Ping

Comment utiliser le module Ansible Ping

Pour effectuer une tâche automatisée sur un hôte distant avec Ansible, il est nécessaire de remplir et de travailler avec certaines variables, comme il faut s'y attendre. Par exemple, ce type de tâche est nécessaire pour mettre un hôte distant en ligne, autoriser les privilèges de connexion et d'utilisateur, et configurer un environnement Python.

Il est possible de se connecter en SSH à un hôte distant et de vérifier si l'hôte répond à tous les critères. Cependant, en tant qu'outil d'automatisation, Ansible fournit des modules qui vous permettent d'effectuer ces tâches fastidieuses et chronophages en une seule ligne de commande.

Ce didacticiel vous montre comment utiliser le module ping intégré d'Ansible pour exécuter diverses variables définies sur des hôtes distants. La demande de ping Ansible est un outil simple mais utile que vous pouvez utiliser pour tester la disponibilité et la praticité des hôtes distants.

Nous allons maintenant examiner de plus près le fonctionnement du ping Ansible.

REMARQUE: Cette section est quelque peu théorique. Si tout ce dont vous avez besoin est la partie technique de l'article, vous pouvez ignorer cette section. Néanmoins, nous vous recommandons de lire cette section, car elle fournit des informations et des informations utiles sur le module ping.

Cela étant noté, nous allons maintenant passer à l'introduction du module ping.

À propos du module ping d'Ansible

La demande de ping Ansible vérifie l'hôte distant. Ce module vérifie spécifiquement :

Après l'envoi d'une requête ping à l'hôte distant, le module renvoie une valeur indiquant si le ping a réussi. Par défaut, le module ping renvoie la chaîne 'pong' en cas de succès, et une exception en cas d'échec (si spécifié).

CONSEIL DE PRO: Pour vous assurer que vos playbooks Ansible sur les hôtes distants cibles n'échouent pas, utilisez le module ping pour vérifier si les exigences sont remplies, et n'exécutez les tâches que si une sortie réussie est obtenue.

Fonctionnalités du module ping Ansible

Le module ping est assez simple, et voici une liste des fonctionnalités fournies par ce module :

Comment utiliser le module ping Ansible

Nous allons maintenant voir quelques exemples utilisant le module ping d'Ansible.

Utilisation de la commande ping AD HOC

Le moyen le plus simple d'exécuter le module ping Ansible est d'exécuter une simple commande AD HOC dans le terminal.

La commande AD HOC est la suivante :

ansible all -m ping -v

La commande ci-dessus commence par appeler Ansible, suivi du modèle spécifique de l'hôte. Dans ce cas, nous voulons envoyer un ping à « tous » les hôtes. La partie suivante, '-m', spécifie le module que nous voulons utiliser. Le '-v' signifie verbeux.

En cas de succès, vous obtiendrez une sortie comme celle illustrée ci-dessous :

Utilisation de /etc/ansible/ansible.cfg comme fichier de configuration 35.222.210.12
| SUCCÈS =>
"ansible_facts":
"discovered_interpreter_python": "/usr/bin/python" ,
"changé": faux,
"ping pong"

Si les hôtes distants ne sont pas disponibles (peut-être qu'ils sont hors ligne), vous obtiendrez une sortie comme celle illustrée ci-dessous :

Utilisation de /etc/ansible/ansible.cfg comme fichier de configuration 35.222.210.12
| INACCESSIBLE! =>
"changé": faux,
"msg": "Impossible de se connecter à l'hôte via ssh : ssh : se connecter à l'hôte 35.222.210.12 port 22 : connexion expirée",
"inaccessible": vrai

Utilisation du module ping dans Playbooks

Vous pouvez également utiliser le module ping dans un playbook. Dans la plupart des cas, vous ne créerez pas de playbook qui n'exécute qu'une requête ping. Cependant, vous pouvez envelopper toutes les tâches dans les conditions de la demande de ping.

Considérez le livre de jeu simple suivant :

- hôtes : tous
devenir : oui
Tâches:
- ping

Vous remarquerez peut-être que dans le playbook ci-dessus, j'ai inclus la directive « devenir ». Ce n'est pas une exigence, mais j'ai rencontré des cas dans lesquels le module ping échoue pour un utilisateur standard. Vous pouvez maintenant exécuter le playbook et vérifier si le serveur hôte répond aux exigences d'une réponse « pong » réussie.

ansible-playbook ping.yml

Si le ping échoue, vous obtiendrez l'erreur « injoignable » suivante :

fatale : [35.222.210.12] : INDISPENSABLE! => "changed": false, "msg": "Impossible de se connecter à l'hôte via ssh : ssh : se connecter à l'hôte 35.222.210.12 port 22 : connexion expirée", "unreachable": true

Utilisation de l'exception raise avec le module ping

Vous pouvez également spécifier des données en tant que plantage pour induire une exception. Cela change le retour par défaut de 'pong' à 'crash.'

Considérez le livre de jeu suivant :

- hôtes : tous
devenir : oui
Tâches:
- ping :
panne : données

L'exécution du playbook avec exception doit renvoyer la valeur suivante :

ansible-playbook ping_except.yml

Conclusion

Ce tutoriel vous a montré les diverses utilités du module ping. Bien que ce module ne contienne pas de paramètres complexes comme la plupart des modules Ansible, il contient toujours de puissantes capacités. Par exemple, vous pouvez utiliser le module ping pour vérifier si une erreur est due à un environnement Python manquant et créer une tâche pour installer l'environnement requis sur l'hôte distant.

Meilleurs jeux de ligne de commande pour Linux
La ligne de commande n'est pas seulement votre plus grand allié lorsque vous utilisez Linux, elle peut également être une source de divertissement car...
Meilleures applications de mappage de manette de jeu pour Linux
Si vous aimez jouer à des jeux sur Linux avec une manette de jeu au lieu d'un système de saisie clavier et souris typique, il existe des applications ...
Outils utiles pour les joueurs Linux
Si vous aimez jouer à des jeux sur Linux, il est probable que vous ayez utilisé des applications et des utilitaires comme Wine, Lutris et OBS Studio p...