
Docker + Kubernetes: Contenedores y Orquestación (AI-Enhanced)
Al finalizar este curso podrás:
- ✅ Contenerizar aplicaciones multicapa con Dockerfiles multi-stage y docker-compose.
- ✅ Gestionar imágenes, volúmenes, redes y registries privados de Docker.
- ✅ Crear y administrar clusters Kubernetes con minikube, k3s o kind.
- ✅ Desplegar microservicios con Deployments, Services, ConfigMaps y Secrets.
- ✅ Implementar actualizaciones rolling update, health checks y escalado horizontal.
Contenido del curso
¿Por qué Docker + Kubernetes?🔗
Los contenedores se han convertido en el estándar para empaquetar y desplegar software. Docker simplifica la creación de entornos reproducibles, mientras que Kubernetes orquesta cientos de contenedores en producción. Juntos, son el stack fundamental de DevOps y plataformas cloud-native.
Objetivos🔗
- Comprender el ecosistema de contenedores desde cero con asistencia de IA.
- Diseñar arquitecturas multi-contenedor con docker-compose para desarrollo local.
- Administrar clústeres Kubernetes con kubectl, Helm y manifiestos declarativos.
- Aplicar buenas prácticas de seguridad, monitoreo y escalabilidad.
Temario🔗
Fundamentos de Docker🔗
- ¿Qué son los contenedores? Diferencias con máquinas virtuales.
- Instalación y configuración de Docker Engine.
- Comandos esenciales:
docker run,ps,exec,logs,stop,rm. - Práctica con IA: Usa el asistente para diagnosticar contenedores que no inician y analizar logs de error.
Imágenes y Dockerfiles🔗
- Creación de Dockerfiles:
FROM,RUN,COPY,CMD,ENTRYPOINT. - Capas y caché de construcción.
- Docker multi-stage para reducir tamaño de imágenes.
- Práctica con IA: Optimiza un Dockerfile existente — la IA sugiere reducción de capas y cambio a imágenes slim.
Volúmenes y Redes🔗
- Volúmenes nombrados y bind mounts para datos persistentes.
- Redes bridge, host y overlay.
- Práctica con IA: Debug de problemas de conectividad entre contenedores con asistencia del tutor.
Docker Compose🔗
- Definición de servicios multi-contenedor con
docker-compose.yml. - Variables de entorno, dependencias y health checks.
- Práctica con IA: Genera un docker-compose completo para stack LEMP o MERN con asistencia de prompts.
Introducción a Kubernetes🔗
- Arquitectura: nodos, pods, deployments, services.
- Instalación local con minikube o kind.
- kubectl: comandos esenciales.
- Práctica con IA: El asistente explica recursos YAML y sugiere correcciones en manifiestos.
Recursos Fundamentales de K8s🔗
- Pods, Deployments, StatefulSets.
- Services (ClusterIP, NodePort, LoadBalancer).
- ConfigMaps y Secrets para configuración.
- Práctica con IA: Debug de un deployment que no levanta — la IA guía el análisis de eventos y logs.
Almacenamiento y Networking🔗
- PersistentVolumes y PersistentVolumeClaims.
- Ingress controllers y routing de tráfico.
- DNS interno y service discovery.
- Práctica con IA: Configura un Ingress con TLS — el asistente genera el manifiesto y explica cada campo.
Actualizaciones y Escalado🔗
- Rolling updates y rollbacks.
- Horizontal Pod Autoscaler (HPA) basado en métricas.
- Health checks: liveness, readiness, startup probes.
- Práctica con IA: Simula un pico de tráfico y la IA recomienda ajustes de recursos y escalado.
Helm y Chart Management🔗
- ¿Qué es Helm? Charts, releases y repositorios.
- Instalación y personalización de charts existentes.
- Creación de charts propios con templates.
- Práctica con IA: Genera un chart Helm para tu proyecto del curso con ayuda del tutor.
CI/CD + Kubernetes🔗
- Integración con GitHub Actions.
- Construcción de imágenes y push a Docker Hub/GitHub Container Registry.
- Despliegue automático en cluster con kubectl o Helm.
- Práctica con IA: Pipeline completo — la IA ayuda a escribir los workflows y debuggear fallos.
🎯 Proyecto final del curso
Desplegarás una aplicación web completa (frontend React + backend Node.js + PostgreSQL) en un cluster Kubernetes local, con Docker multi-stage para cada servicio, ConfigMaps para configuración, Secrets para credenciales, Ingress para enrutamiento, Horizontal Pod Autoscaler y un pipeline CI/CD básico en GitHub Actions que construya imágenes y las despliegue automáticamente.