Ansible es una herramienta de automatización de código abierto que permite configurar sistemas, desplegar aplicaciones y orquestar tareas complejas en entornos TI.
Ejemplo 1: Verificar conectividad con hosts
ansible all -m ping
Ejemplo 2: Instalar un paquete en todos los servidores
ansible all -m apt -a "name=nginx state=present" --become
Ejemplo 3: Desplegar un servidor web con Nginx
---
- name: Configurar servidor web con Nginx
hosts: webservers
become: yes
tasks:
- name: Instalar Nginx
apt:
name: nginx
state: present
- name: Iniciar servicio Nginx
service:
name: nginx
state: started
enabled: yes
Ejemplo 4: Crear un archivo en múltiples servidores
---
- name: Crear un archivo de prueba
hosts: all
tasks:
- name: Crear archivo en /tmp/test.txt
file:
path: /tmp/test.txt
state: touch
Ejemplo 5: Archivo de inventario
[webservers]
server1.example.com
server2.example.com
[dbservers]
db1.example.com
db2.example.com
Ejemplo 6: Cifrar un archivo con Ansible Vault
ansible-vault encrypt secret.yml
ansible: Ejecuta tareas ad hoc en hosts remotos.ansible-playbook: Ejecuta playbooks para automatizar tareas.ansible-galaxy: Gestiona roles y colecciones.ansible-vault: Cifra y descifra datos sensibles.ansible-config: Muestra la configuración actual.ansible-doc: Consulta la documentación de módulos.ansible-inventory: Administra el inventario.ansible-m <módulo>: Especifica el módulo a ejecutar.-a "": Pasa argumentos al módulo.-i : Especifica un archivo de inventario personalizado.-u : Especifica el usuario remoto.--become: Escala privilegios.--check: Simula la ejecución sin realizar cambios.ansible-playbook-i : Especifica un archivo de inventario personalizado.--tags : Ejecuta solo las tareas etiquetadas.--skip-tags : Omite tareas etiquetadas.--start-at-task "": Comienza desde una tarea específica.--extra-vars "clave=valor": Pasa variables adicionales.--syntax-check: Verifica la sintaxis del playbook.--check: Simula la ejecución sin realizar cambios.--diff: Muestra las diferencias en los cambios realizados.ansible-galaxyinstall: Instala roles o colecciones.init: Crea un esqueleto para un nuevo rol.list: Lista los roles instalados.remove: Elimina roles instalados.info: Muestra información sobre un rol específico.ansible-vaultcreate: Crea un archivo cifrado.encrypt: Cifra un archivo existente.decrypt: Descifra un archivo cifrado.edit: Edita un archivo cifrado.view: Muestra el contenido de un archivo cifrado.ansible-configlist: Muestra todas las configuraciones disponibles.dump: Exporta la configuración actual.view: Abre el archivo de configuración principal.ansible-doc-l: Lista todos los módulos disponibles.-s: Muestra un resumen del módulo especificado.ansible-inventory--list: Muestra el inventario en formato JSON.--graph: Muestra el inventario en formato de árbol.--host : Muestra detalles de un host específico.