La entrega cloud native combina varias formas de automatización: definición de CI, infraestructura como código, orquestación declarativa y procesamiento operativo. Este proyecto basado en desafíos prueba cada forma mediante un artefacto concreto en un entorno local preparado.
Crearás un workflow GitHub Actions, un contenedor Docker con Terraform, un manifiesto Kubernetes con varios recursos y un analizador Python de logs. Las fases comparten tema, pero son ejercicios verificados por separado, no una pipeline de producción conectada.
Lo que aprenderás
- Definir un workflow
Node.js CIque ejecute checkout, Node, instalación y tests al hacer push amain - Configurar el provider Docker de Terraform y crear
terraform-webcon Nginx y mapeo8080:80 - Inicializar y aplicar Terraform y verificar el contenedor local mediante Docker y HTTP
- Crear y aplicar un Deployment Kubernetes con tres réplicas
nginx:alpiney etiquetas y selectores coincidentes - Exponer la carga con un Service NodePort y confirmar ambos recursos en el clúster local
- Analizar un log preparado en Python, deduplicar las IP del primer campo con un set e imprimir su cantidad
A quién va dirigido este curso
Este proyecto está dirigido a estudiantes de DevOps preparados para aplicar CI, Terraform, Kubernetes y Python introductorios sin comandos paso a paso.
Requisitos previos: Familiaridad con YAML, estructura GitHub Actions, providers y recursos Terraform, puertos Docker, Deployments y Services Kubernetes, iteración y sets Python y terminal Linux; proyecto de evaluación.
Entorno de aprendizaje: Un host Linux en navegador con Docker, Terraform, Minikube local, kubectl, Python 3, contexto Node.js y log preparado; no requiere nube ni push a GitHub.
Preguntas frecuentes
¿El workflow se ejecutará realmente en GitHub?
No. Creas y validas .github/workflows/ci.yml localmente. No se exige push, runner alojado ni demostrar que npm test pasa remotamente.
¿Terraform aprovisiona infraestructura cloud?
No. Usa kreuzwerker/docker para ejecutar un contenedor local nginx:latest. Proveedores cloud, estado remoto, módulos y red de producción quedan fuera.
¿Kubernetes está conectado al contenedor Terraform o al CI?
No. Es un ejercicio Minikube separado. Creas un Deployment de tres réplicas y un NodePort, pero ninguna pipeline lo despliega ni Terraform lo gestiona.
¿Qué hace la automatización Python?
Lee access.log, extrae el primer campo, cuenta IP únicas con un set e imprime Unique IPs: 10. No transmite logs, llama APIs ni modifica infraestructura.


