→ AN01 — Fundamentos, inventarios y primeros playbooks (Iniciación, 6h)
- Crear un inventario básico con al menos 2 hosts objetivo y configurar ansible.cfg con opciones esenciales
- Ejecutar comandos ad-hoc (ping, setup, command) para verificar conectividad y recopilar facts de los hosts antes de escribir el primer playbook
- Escribir un playbook con 3-5 tareas idempotentes y verificar que una segunda ejecución no produce cambios (idempotencia)
- Distinguir cuándo usar módulos nativos frente a shell/command y explicar la diferencia
- Interpretar la salida de Ansible identificando estados changed/ok/failed e introducir niveles de verbosity (-v, -vv)
- Definir variables simples en la sección vars: del playbook y mediante -e en línea de comandos para eliminar valores hardcodeados
→ AN02 — Condicionales, iteración y plantillas (Intermedio, 6h)
- Organizar variables en estructuras group_vars y host_vars para reutilización entre playbooks
- Implementar condicionales (when) para ejecutar tareas según sistema operativo o estado del host
- Utilizar bucles (loop, with_items) para gestionar múltiples recursos: usuarios, paquetes y ficheros
- Generar ficheros de configuración dinámicos con plantillas Jinja2 parametrizadas
- Aplicar condicionales y bucles combinados para desplegar configuraciones diferenciadas por entorno (dev/prod)
- Cifrar variables sensibles con ansible-vault y consumirlas desde un playbook (creación y uso básico)
- Desplegar una configuración multi-entorno (dev/prod) que integra variables en group_vars, al menos un condicional, un bucle y una plantilla Jinja2
→ AN03 — Administración de sistemas con Ansible (Intermedio, 6h)
- Automatizar la aplicación de parches y actualizaciones de seguridad en sistemas Linux con control de reinicio condicional
- Instalar y configurar aplicaciones mediante playbooks reproducibles con gestión de dependencias
- Gestionar usuarios, grupos y privilegios sudo de forma automatizada con iteraciones y variables cifradas
- Controlar el ciclo de vida de servicios del sistema (inicio, parada, habilitación, reinicio) mediante módulos Ansible
- Implementar handlers para reaccionar a cambios de configuración y evitar reinicios innecesarios
- Garantizar idempotencia en playbooks de aprovisionamiento complejo que combinan handlers, condicionales y gestión de servicios, verificando el comportamiento diferenciado entre primera y sucesivas ejecuciones
- Construir un playbook que combine handlers, gestión de servicios y al menos un condicional, verificando que la segunda ejecución no produce cambios innecesarios