Opciones Avanzadas del Módulo Ping y Orientación a Múltiples Grupos
Ping a Múltiples Grupos de Hosts
Ampliemos nuestro playbook para hacer ping a múltiples grupos de nuestro inventario. Cree un nuevo archivo llamado ping_all.yml:
- En el WebIDE, navegue a
/home/labex/project/ansible
- Haga clic con el botón derecho en la carpeta
ansible y seleccione "New File" (Nuevo archivo)
- Nombre el archivo
ping_all.yml
- Agregue el siguiente contenido al archivo:
---
- hosts: all
gather_facts: no
tasks:
- name: Ping all hosts in the inventory
ping:
Este playbook se dirigirá a todos los hosts en el archivo de inventario. Ejecútelo con:
ansible-playbook -i hosts ping_all.yml
Debería ver una salida que muestre respuestas de ping exitosas de todos los hosts en su inventario.
Uso de Datos Personalizados con el Módulo Ping
El módulo ping de Ansible le permite enviar datos personalizados para verificar que regresen sin modificar. Esto puede ser útil para probar escenarios de conectividad más complejos.
Cree un nuevo playbook llamado ping_data.yml:
- En el WebIDE, cree un nuevo archivo llamado
ping_data.yml en el directorio /home/labex/project/ansible
- Agregue el siguiente contenido:
---
- hosts: webservers
gather_facts: no
tasks:
- name: Ping with custom data
ping:
data: "Hello from Ansible Lab"
Ejecute este playbook:
ansible-playbook -i hosts ping_data.yml -v
La salida detallada mostrará sus datos personalizados en la respuesta:
TASK [Ping with custom data] **************************************************
ok: [localhost] => {"changed": false, "ping": "Hello from Ansible Lab"}
Ejecución de Ping contra Hosts Específicos
También puede ejecutar el módulo ping directamente desde la línea de comandos sin crear un playbook. Esto es útil para comprobaciones rápidas de conectividad:
ansible local -i hosts -m ping
Este comando hará ping a todos los hosts en el grupo local y mostrará los resultados. Debería ver:
localhost | SUCCESS => {
"changed": false,
"ping": "pong"
}
También puede especificar múltiples grupos o patrones:
ansible 'webservers:local' -i hosts -m ping
Este comando hará ping a todos los hosts en los grupos webservers y local.
Módulo Ping con Argumentos
También puede pasar argumentos al módulo ping directamente desde la línea de comandos:
ansible all -i hosts -m ping -a "data='Command line test'"
Este comando hará ping a todos los hosts con la cadena de datos personalizada "Command line test" y mostrará los resultados.
La salida mostrará la respuesta de cada host con su mensaje personalizado:
localhost | SUCCESS => {
"changed": false,
"ping": "Command line test"
}
Estos ejemplos demuestran la versatilidad del módulo ping de Ansible para verificar la conectividad a sus hosts administrados de varias maneras.