RousselTMLEARNING

TP · DevOps: del descubrimiento a la experiencia

Práctica: Infraestructura como código con Terraform

Lo que vas a aprender en este TP
  • Escribir una configuración Terraform
  • Usar plan, apply y el estado
  • Detectar y corregir una deriva

Introducción #

Lo que vas a aprender en esta sección
  • Escribir una configuración Terraform
  • Usar plan, apply y el estado
  • Detectar y corregir una deriva

Contexto. Los entornos de prueba se crean a mano y nunca se parecen. Los describes como código, con el provider Docker para trabajar en local sin cuenta en la nube.

Requisitos previos: Docker y Terraform (u OpenTofu) instalados  ·  Duración estimada: 40 min

Un entorno reproducible y una deriva detectada y corregida.

Puesta en práctica #

Pasos guiados, con su corrección.

  1. 1. Escribir la configuración

    ¿Por qué? La configuración describe el estado deseado; Terraform calcula las acciones.

    En iac-lab/, escribe main.tf: una red, una imagen nginx y un número variable de contenedores expuestos en 8081, 8082…, con una salida que liste las URL.
  2. 2. Inicializar, comprobar, planificar

    ¿Por qué? fmt y validate son los controles de la CI; el plan es lo que se revisa en la pull request.

    Inicializa el proyecto, comprueba el formato y la validez y guarda un plan.
  3. 3. Aplicar e inspeccionar el estado

    ¿Por qué? El estado vincula el código con los recursos reales.

    Aplica el plan, prueba las URL y lista e inspecciona los recursos del estado.
  4. 4. Hacer evolucionar la infraestructura

    ¿Por qué? Se cambia una variable, no comandos: el plan muestra exactamente la diferencia.

    Pasa a 3 instancias con -var, revisa el plan y aplica.
  5. 5. Detectar una deriva

    ¿Por qué? Una modificación manual hace que el código sea falso: Terraform la detecta y la corrige.

    Elimina un contenedor a mano, detecta la deriva con -detailed-exitcode (código 2) y vuelve a aplicar.
  6. 6. Destruir

    ¿Por qué? Un entorno descrito como código se elimina y se recrea sin riesgo de olvidos.

    Destruye todo, comprueba que no queda nada y explica qué haría falta para trabajar en equipo (backend remoto, bloqueo, CI).

Nivel de dificultad : ●●○○○ (2/5)

Mi seguimiento

  • ⏱ Duración estimada : ≈ 40 min

Inicia sesión para seguir tu progreso y tomar notas. Iniciar sesión

✉️ Hacer una pregunta

Artículos recomendados

Infrastructure as Code et GitOps : Terraform, Ansible et Argo CD

Gérer l'infrastructure comme du code : déclaratif ou impératif, Terraform (providers, état, plan,...