Ejecutando un Comando Simple con Ansible
Después de comprender los fundamentos de Ansible, profundicemos en la ejecución de un comando simple utilizando Ansible.
Preparando el Entorno
Antes de comenzar, asegúrate de tener los siguientes requisitos previos:
- Ansible instalado en tu nodo de control (la máquina desde la que ejecutarás los comandos de Ansible).
- Un archivo de inventario que defina los nodos gestionados (las máquinas que deseas gestionar con Ansible).
Aquí hay un ejemplo de archivo de inventario (inventory.txt) con un solo host:
[webservers]
192.168.1.100
Ejecutando un Comando Simple
Ansible proporciona la herramienta de línea de comandos ansible para ejecutar comandos ad-hoc en los nodos gestionados. Para ejecutar un comando simple, como verificar el tiempo de actividad de un host remoto, sigue estos pasos:
-
Abre una terminal en tu nodo de control.
-
Ejecuta el siguiente comando de Ansible:
ansible webservers -i inventory.txt -m shell -a "uptime"
Explicación:
ansible: La herramienta de línea de comandos de Ansible.
webservers: El grupo de hosts definido en el archivo de inventario.
-i inventory.txt: La ruta al archivo de inventario.
-m shell: El módulo a utilizar, en este caso, el módulo "shell" para ejecutar un comando de shell.
-a "uptime": El comando a ejecutar en los hosts remotos.
-
Ansible se conectará a los nodos gestionados, ejecutará el comando uptime y mostrará la salida.
graph LR
A[Nodo de Control] -- SSH --> B[Nodo Gestionado]
B -- Ejecuta "uptime" --> C[Salida]
Personalizando el Comando
Puedes personalizar el comando para ejecutar cualquier otro comando de shell en los hosts remotos. Por ejemplo, para listar el contenido del directorio /etc/, puedes usar el siguiente comando:
ansible webservers -i inventory.txt -m shell -a "ls -l /etc/"
Esto ejecutará el comando ls -l /etc/ en los hosts remotos y mostrará la salida.
| Comando |
Descripción |
ansible |
La herramienta de línea de comandos de Ansible. |
webservers |
El grupo de hosts definido en el archivo de inventario. |
-i inventory.txt |
La ruta al archivo de inventario. |
-m shell |
El módulo a utilizar, en este caso, el módulo "shell" para ejecutar un comando de shell. |
-a "uptime" |
El comando a ejecutar en los hosts remotos. |
Recuerda que el comando ansible es útil para ejecutar rápidamente tareas únicas, pero para automatizaciones más complejas y repetibles, deberías considerar usar Playbooks de Ansible.