Ansible

Cómo utilizar el módulo de ping de Ansible

Cómo utilizar el módulo de ping de Ansible

Para realizar una tarea automatizada en un host remoto con Ansible, es necesario completar y trabajar con ciertas variables, como era de esperar. Por ejemplo, este tipo de tarea es necesaria para poner un host remoto en línea, permitir el inicio de sesión y privilegios de usuario, y configurar un entorno Python.

Es posible SSH en un host remoto y verificar si el host cumple con todos los criterios. Sin embargo, como herramienta de automatización, Ansible proporciona módulos que le permiten realizar estas tareas tediosas y que requieren mucho tiempo en una sola línea de comando.

Este tutorial le muestra cómo usar el módulo de ping integrado de Ansible para realizar varias variables establecidas en hosts remotos. La solicitud de ping de Ansible es una herramienta simple pero útil que puede utilizar para probar la disponibilidad y practicidad de los hosts remotos.

Ahora veremos más de cerca cómo funciona el ping de Ansible.

NOTA: Esta sección es algo teórica. Si todo lo que necesita es la parte técnica del artículo, puede omitir esta sección. Aun así, recomendamos leer esta sección, ya que proporciona algunos conocimientos e información útiles sobre el módulo de ping.

Con eso anotado, ahora pasaremos a presentar el módulo de ping.

Acerca del módulo ping de Ansible

La solicitud de ping de Ansible se comprueba en el host remoto. Este módulo busca específicamente:

Después de que se envía una solicitud de ping al host remoto, el módulo devuelve un valor que indica si el ping fue exitoso. De forma predeterminada, el módulo de ping devuelve la cadena 'pong' en caso de éxito y una excepción en caso de error (si se especifica).

CONSEJO PROFESIONAL: Para asegurarse de que sus libros de jugadas de Ansible en los hosts remotos de destino no fallen, use el módulo de ping para verificar si se cumplen los requisitos y solo lleve a cabo las tareas si se obtiene una salida exitosa.

Características del módulo ping de Ansible

El módulo de ping es bastante simple y la siguiente es una lista de las características proporcionadas por este módulo:

Cómo utilizar el módulo de ping de Ansible

Ahora veremos algunos ejemplos que usan el módulo ping de Ansible.

Uso del comando ping AD HOC

La forma más sencilla de ejecutar el módulo de ping de Ansible es ejecutar un comando AD HOC simple en la terminal.

El comando AD HOC es el siguiente:

ansible all -m ping -v

El comando anterior comienza llamando a Ansible, seguido del patrón específico del host. En este caso, queremos hacer ping a 'todos' los hosts. La siguiente parte, '-m,' especifica el módulo que queremos usar. La '-v' significa detallado.

Si tiene éxito, obtendrá un resultado como el que se muestra a continuación:

Usando / etc / ansible / ansible.cfg como archivo de configuración 35.222.210.12
| ÉXITO =>
"ansible_facts":
"descubierto_interpreter_python": "/ usr / bin / python",
"cambiado": falso,
"ping pong"

Si los hosts remotos no están disponibles (quizás estén fuera de línea), obtendrá un resultado como el que se muestra a continuación:

Usando / etc / ansible / ansible.cfg como archivo de configuración 35.222.210.12
| Inalcanzable! =>
"cambiado": falso,
"msg": "No se pudo conectar al host a través de ssh: ssh: conectarse al host 35.222.210.12 puerto 22: Se agotó el tiempo de espera de la conexión ",
"inalcanzable": verdadero

Uso del módulo de ping en Playbooks

También puede usar el módulo de ping dentro de un libro de jugadas. En la mayoría de los casos, no creará un libro de jugadas que solo realice una solicitud de ping. Sin embargo, puede envolver todas las tareas dentro de las condiciones de la solicitud de ping.

Considere el siguiente libro de jugadas simple:

- hosts: todos
convertirse en: si
Tareas:
- silbido

Puede notar que en el libro de jugadas anterior, incluí la directiva 'convertirse'. Esto no es un requisito, pero he encontrado casos en los que el módulo de ping falla para un usuario estándar. Ahora puede ejecutar el libro de jugadas y verificar si el servidor host cumple con los requisitos para una respuesta 'pong' exitosa.

ping ansible-playbook.yml

Si el ping no tiene éxito, obtendrá el siguiente error 'inalcanzable':

fatal: [35.222.210.12]: inalcanzable! => "cambiado": falso, "msg": "No se pudo conectar al host a través de ssh: ssh: conectarse al host 35.222.210.12 puerto 22: Se agotó el tiempo de espera de la conexión "," inaccesible ": verdadero

Uso de la excepción de aumento con el módulo ping

También puede especificar datos como un bloqueo para inducir una excepción. Esto cambia el retorno predeterminado de 'pong' a 'crash.'

Considere el siguiente libro de jugadas:

- hosts: todos
convertirse en: si
Tareas:
- silbido:
accidente: datos

Ejecutar el libro de jugadas con excepción debería devolver el siguiente valor:

ansible-playbook ping_except.yml

Conclusión

Este tutorial le mostró la diversa utilidad del módulo ping. Aunque este módulo no contiene parámetros complejos como la mayoría de los módulos de Ansible, aún contiene capacidades poderosas. Por ejemplo, puede usar el módulo ping para verificar si un error se debe a un entorno Python faltante y crear una tarea para instalar el entorno requerido en el host remoto.

Cómo desarrollar un juego en Linux
Hace una década, no muchos usuarios de Linux predecían que su sistema operativo favorito algún día sería una plataforma de juegos popular para videoju...
Puertos de código abierto de motores de juegos comerciales
Las recreaciones gratuitas, de código abierto y de motores de juegos multiplataforma se pueden usar para jugar títulos de juegos antiguos y también al...
Los mejores juegos de línea de comandos para Linux
La línea de comandos no es solo su mayor aliado cuando usa Linux, también puede ser la fuente de entretenimiento porque puede usarla para jugar muchos...