HACK A BOSS
FormaciónEvaluacionesPerfil
Volver
  • En directo

Roles y estructura profesional con Ansible

6h de clase en directo·HACK A BOSS·Español

Skills que aprenderás

  • Ansible

Convocatorias

Necesitas un plan activo

Para acceder a los cursos en directo necesitas un plan activo. Estamos trabajando para que los planes estén disponibles pronto — ¡mantente atento!

No hay convocatorias abiertas ahora mismo, pero no te pierdas la oportunidad: guarda este curso y te avisamos en cuanto se abra una convocatoria.

Descripción

Objetivos

Temario

Requisitos técnicos

Conocimientos previos

Detalles de la convocatoria

Recursos

No hay recursos disponibles todavía para esta convocatoria

Este curso capacita a profesionales DevOps para estructurar proyectos Ansible de forma escalable y mantenible mediante roles, colecciones, gestión avanzada de errores e inventario dinámico. Dirigido a ingenieros que ya automatizan infraestructura y necesitan evolucionar hacia arquitecturas modulares y reutilizables. Al finalizar, el participante será capaz de construir repositorios profesionales con roles estándar, colecciones declaradas en requirements.yml, inventario dinámico, gestión de secretos con vault y validación automatizada con ansible-lint.

Al finalizar el curso, el participante será capaz de:

  • Crear roles con estructura estándar dividiendo playbooks monolíticos en componentes reutilizables
  • Separar responsabilidades en roles específicos: usuarios, app, configuración y seguridad
  • Aplicar blocks para agrupar tareas y manejar errores mediante rescue y always
  • Descargar e integrar roles y colecciones desde Ansible Galaxy (ansible-galaxy role install / ansible-galaxy collection install) y evaluar cuándo usar cada modelo
  • Validar la calidad del código con ansible-lint e identificar y corregir los issues detectados
  • Configurar un plugin de inventario dinámico para generar hosts automáticamente desde una fuente externa (script, fichero generado o plugin de cloud)
  • Construir un repositorio con al menos dos roles reutilizables, colecciones declaradas en requirements.yml, secretos gestionados con vault e inventario dinámico
  1. Roles en Ansible Estructura estándar de directorios, anatomía de un rol, creación con ansible-galaxy init, conversión de playbooks monolíticos en roles; diseño modular por responsabilidades (usuarios, app, configuración, seguridad); variables y defaults por rol; múltiples plays y targeting de grupos de hosts
  2. Gestión avanzada de errores Blocks para agrupación de tareas, manejo de errores con rescue, bloques always para limpieza y notificaciones
  3. Integración con Ansible Galaxy y colecciones Diferencia entre roles y colecciones, búsqueda y evaluación de contenido público, instalación con ansible-galaxy role install y ansible-galaxy collection install, declaración de dependencias en requirements.yml
  4. Inventario dinámico Concepto y casos de uso frente a inventario estático, plugins de inventario nativos, script de inventario personalizado, integración en playbooks y roles
  5. Validación y calidad de código Instalación y configuración de ansible-lint, interpretación de reglas y severidades, corrección sistemática de issues, integración en flujo de desarrollo
  6. Entregable final Repositorio con al menos dos roles reutilizables, colecciones en requirements.yml, inventario dinámico y secretos con vault; validación con ansible-lint antes de la entrega
  • ansible-core 2.14 o superior instalado en el control node
  • Python 3.10 o superior en el control node
  • ansible-lint 24.x o superior para validación de código
  • Acceso SSH a mínimo 2 hosts Linux con Python 3.7 o superior (máquinas virtuales, contenedores o cloud)
  • Git para gestión de versiones del repositorio de proyecto
  • Editor de texto con soporte YAML (VS Code recomendado)

→ 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