Cómo usar el módulo de ping ansible

Cómo usar el módulo de ping ansible

Para realizar una tarea automatizada en un host remoto con Ansible, es necesario llenar y trabajar con ciertas variables, como es de esperar. Por ejemplo, este tipo de tarea es necesario para colocar un host remoto en línea, permitir privilegios de inicio de sesión y usuarios, y configurar un entorno de 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 tediosas tareas que requieren mucho tiempo en una sola línea de comando.

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

Ahora veremos más de cerca cómo funciona el ping 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 algunas ideas e información útiles sobre el módulo de ping.

Con eso señalado, ahora pasaremos para introducir el módulo de ping.

Sobre el módulo de ping ansible

La solicitud de ping ansible verifica el host remoto. Este módulo verifica específicamente:

  • Si el host remoto está activo y accesible.
  • Si el entorno de Python puede ejecutar con éxito los libros de jugadas requeridos.
  • El inicio de sesión y los privilegios del usuario.

Después de enviar una solicitud de ping al host remoto, el módulo devuelve un valor que indica si el ping fue exitoso. Por defecto, el módulo de ping devuelve la cadena 'pong' en el éxito y una excepción en el fracaso (si se especifica).

Propina: Para asegurarse de que sus libros de jugadas ansibles en los hosts remotos de destino no falle, use el módulo de ping para verificar si se cumplen los requisitos y solo realice las tareas si se obtiene una salida exitosa.

Características del módulo de ping ansible

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

  • No es un ping ICMP; Más bien, es un módulo pequeño que requiere un entorno de Python válido en hosts remotos.
  • Los hosts remotos de Windows deben usar el módulo Win_Ping en su lugar.
  • Proporciona un módulo Net_Ping para dispositivos de red.
  • Acepta solo un parámetro para plantear una excepción.
  • Usado por defecto al llamar al comando Ansible en el directorio/usr/bin/ansible para verificar los permisos de inicio de sesión y un entorno de Python válido.
  • Devuelve la cadena 'pong' sobre el éxito.

Cómo usar el módulo de ping ansible

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

Usando el comando ad hoc ping

La forma más sencilla de ejecutar el módulo de ping ansible es ejecutar un comando ad hoc simple en el terminal.

El comando ad hoc es el siguiente:

ansible todo -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 los anfitriones 'todos'. La siguiente parte, '-m', especifica el módulo que queremos usar. El '-v' significa demasiado.

En el éxito, obtendrá una salida como la que se muestra a continuación:

Usando/etc/ansible/ansible.CFG como archivo de configuración 35.222.210.12
| Éxito =>
"ansible_facts":
"Discovered_interpreter_python": "/usr/bin/python",
"Cambiado": Falso,
"ping pong"

Si los hosts remotos no están disponibles (tal vez están fuera de línea), obtendrá una salida como la 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 conectó al host a través de SSH: SSH: Conéctese al host 35.222.210.12 Puerto 22: Conexión agotada ",
"inalcanzable": verdadero

Usando el módulo de ping en los libros de jugadas

También puedes usar el módulo de ping dentro de un libro de jugadas. En la mayoría de los casos, no construirá 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:

- Anfitriones: todos
convertirse en: si
tareas:
- silbido

Puede notar que en el libro de jugadas anterior, incluí la directiva 'convertirse en'. Este 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 de host cumple con los requisitos para una respuesta exitosa de 'pong'.

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 conectó al host a través de ssh: ssh: conectarse al host 35.222.210.12 Puerto 22: Conexión de la conexión "," inalcanzable ": verdadero

Usando la excepción de elevación con el módulo de ping

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

Considere el siguiente libro de jugadas:

- Anfitriones: todos
convertirse en: si
tareas:
- silbido:
bloqueo: 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 de ping. Aunque este módulo no contiene parámetros complejos como la mayoría de los módulos Ansible, todavía contiene capacidades potentes. Por ejemplo, puede usar el módulo de ping para verificar si un error se debe a un entorno de Python faltante y crear una tarea para instalar el entorno requerido en el host remoto.