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-galaxy
install
: 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-vault
create
: 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-config
list
: 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.