HACK A BOSS
FormaciónEvaluacionesPerfil
Volver
  • En directo

Condicionales, iteración y plantillas

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 construir playbooks que adaptan configuraciones según contexto operativo, gestionan múltiples recursos de forma eficiente y generan archivos dinámicos mediante plantillas. Se centra en estructuras de variables reutilizables, lógica condicional, iteración sobre colecciones y protección de datos sensibles con cifrado básico. Al finalizar, el participante será capaz de automatizar despliegues diferenciados por entorno, reduciendo código duplicado y aumentando la mantenibilidad de infraestructuras gestionadas con Ansible.

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

  • 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; el alcance cubre creación, cifrado y uso básico en ejecución — la integración en repositorios estructurados se aborda en AN04
  • Desplegar una configuración multi-entorno (dev/prod) que integra variables en group_vars, al menos un condicional, un bucle y una plantilla Jinja2
  1. Organización avanzada de variables group_vars, host_vars, jerarquía de precedencia de variables, estructuras de datos complejas (listas y diccionarios)
  2. Condicionales en tareas Cláusula when, operadores de comparación, evaluación de facts (ansible_os_family, ansible_distribution), comprobación de existencia de variables
  3. Iteración sobre colecciones loop, with_items, with_dict, registro de resultados de bucles, gestión masiva de usuarios, paquetes y archivos
  4. Plantillas Jinja2 Sintaxis básica, sustitución de variables, estructuras de control (for, if), filtros útiles, generación de configuraciones dinámicas
  5. Combinación de condicionales y bucles Despliegues diferenciados por entorno, parametrización según rol de host, casos de uso complejos
  6. Gestión segura de secretos (uso básico) ansible-vault: create, encrypt, decrypt, edit; integración en playbooks; estrategias de protección de contraseñas y claves; alcance: creación y consumo de variables cifradas (integración en repositorio estructurado → AN04)
  7. Proyecto integrador Arquitectura multi-entorno (dev/prod), despliegue completo con variables cifradas, condicionales contextuales, bucles y plantillas parametrizadas
  • ansible-core 2.14 o superior instalado en el control node
  • Python 3.10 o superior en el control node
  • Acceso SSH a mínimo 2 hosts Linux con Python 3.7 o superior
  • Editor de texto con soporte YAML (VS Code recomendado)
  • Conectividad de red entre control node y hosts objetivo

→ 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