Detalles del curso
Formación intensiva enfocada en llevarte de cero a desplegar aplicaciones en Kubernetes.
📅
Fecha
Febrero 2026
🕕
Horario
Mar y jue 18:00-21:00
⏱️
Duración
4 semanas (8 clases)
🎯
Nivel
Principiantes
Temario completo
Haz clic en cada clase para ver el contenido detallado
Semana 1: Fundamentos de Python para DevOps
Aprende las bases de Python enfocadas en automatización y desarrollo de APIs
1 Introducción a Python y scripting
Fundamentos
- Instalación de Python 3.x y configuración del entorno de desarrollo
- Uso de VS Code como IDE: extensiones recomendadas para Python
- Sintaxis básica: variables, tipos de datos y operadores
- Estructuras de control: if/else, bucles for y while
- Definición y uso de funciones con parámetros y retorno
- Importación de módulos estándar: os, sys, json
- Manejo de archivos: lectura y escritura de ficheros
- Crear tu primer script: automatización de tareas del sistema
- Ejercicio: script que organiza archivos por extensión
2 Creación de una API REST con Flask
Introducción a APIs
- Qué es una API REST y por qué es importante en DevOps
- Métodos HTTP: GET, POST, PUT, DELETE
- Códigos de estado HTTP y buenas prácticas
- Instalación de Flask y creación de entorno virtual (venv)
- Estructura de un proyecto Flask profesional
- Definición de rutas y endpoints
- Manejo de JSON: request y response
- Crear una API CRUD completa para gestión de tareas
- Testing de la API con Postman o curl
- Generación de requirements.txt para dependencias
Semana 2: Contenedores con Docker
Domina Docker para empaquetar y distribuir aplicaciones
3 Fundamentos de Docker y Dockerfiles
Conceptos básicos
- Qué es Docker y diferencias con máquinas virtuales
- Arquitectura de Docker: daemon, cliente, registry
- Instalación de Docker en Windows, Mac y Linux
- Docker Hub: buscar y descargar imágenes oficiales
- docker run, docker ps, docker stop, docker rm
- docker images, docker pull, docker push
- docker logs y docker exec para debugging
- Estructura y sintaxis de un Dockerfile
- Instrucciones: FROM, WORKDIR, COPY, RUN, EXPOSE, CMD
- Buenas prácticas: capas, caché y optimización de imágenes
- Multi-stage builds para imágenes más ligeras
- Dockerizar la API Flask creada en la semana 1
- Publicar la imagen en Docker Hub
4 Networks, volúmenes y Docker Compose
Networking en Docker
- Tipos de redes: bridge, host, none, overlay
- Crear redes personalizadas para comunicar contenedores
- Resolución DNS entre contenedores
- Exposición de puertos: -p vs -P
- Problema de la persistencia en contenedores
- Tipos de volúmenes: named, bind mounts, tmpfs
- Gestión de volúmenes: crear, listar, eliminar
- Backup y restauración de datos
- Qué es Docker Compose y cuándo usarlo
- Estructura del archivo docker-compose.yml
- Definir servicios, redes y volúmenes
- Variables de entorno y archivos .env
- Comandos: docker-compose up, down, logs, ps
- Crear stack completo: API Flask + PostgreSQL + Redis
- Configurar persistencia de base de datos con volúmenes
Semana 3: Orquestación con Kubernetes (K8s)
Aprende a orquestar contenedores a escala con Kubernetes
5 Arquitectura de Kubernetes y primeros pasos
Introducción a Kubernetes
- Qué es Kubernetes y por qué es el estándar en orquestación
- Casos de uso: escalabilidad, alta disponibilidad, rollbacks
- Kubernetes vs Docker Swarm vs otras alternativas
- Control Plane: API Server, etcd, Scheduler, Controller Manager
- Worker Nodes: kubelet, kube-proxy, container runtime
- Comunicación entre componentes del clúster
- Instalación de kubectl: la CLI de Kubernetes
- Opciones locales: Minikube vs Kind vs Docker Desktop
- Crear tu primer clúster local con Minikube
- Comandos básicos de kubectl: get, describe, logs
- Qué es un Pod: la unidad mínima en Kubernetes
- Crear Pods de forma imperativa y declarativa (YAML)
- Ciclo de vida de un Pod y sus estados
- Multi-container Pods: sidecar pattern
6 Deployments, Services y exposición de apps
Deployments
- Qué es un Deployment y por qué no usar Pods directamente
- ReplicaSets: garantizar número de réplicas
- Crear y gestionar Deployments con YAML
- Estrategias de actualización: Rolling Update vs Recreate
- Rollback: volver a versiones anteriores
- Escalar aplicaciones: manual y automático (introducción a HPA)
- Problema del networking dinámico en Kubernetes
- Tipos de Services: ClusterIP, NodePort, LoadBalancer
- Selectors y Labels: conectar Services con Pods
- DNS interno de Kubernetes para descubrimiento de servicios
- Desplegar la API Flask en Kubernetes con 3 réplicas
- Crear un Service NodePort para acceder desde el navegador
- Simular fallo de un Pod y observar auto-recuperación
Semana 4: Despliegue y práctica real
Configuración avanzada y proyecto final en un clúster real
7 ConfigMaps, Secrets y variables de entorno
Gestión de configuración
- Por qué separar configuración del código
- Principios de 12-Factor Apps aplicados a Kubernetes
- Variables de entorno en contenedores
- Qué es un ConfigMap y cuándo usarlo
- Crear ConfigMaps desde literales, archivos y directorios
- Inyectar ConfigMaps como variables de entorno
- Montar ConfigMaps como volúmenes (archivos de configuración)
- Qué son los Secrets y diferencias con los ConfigMaps
- Tipos de Secrets: Opaque, docker-registry, TLS
- Crear y gestionar Secrets de forma segura
- Buenas prácticas: no commitear Secrets, usar herramientas externas
- Introducción a Sealed Secrets y External Secrets
- Configurar la API Flask con ConfigMaps (settings de app)
- Gestionar las credenciales de base de datos con Secrets
8 Proyecto final: despliegue completo y monitoreo
Proyecto final
- Arquitectura del proyecto: API + base de datos + caché
- Crear todos los manifiestos YAML necesarios
- Namespaces: organizar recursos por entorno
- Resource Limits y Requests: gestionar CPU y memoria
- Liveness y Readiness Probes: health checks
- PersistentVolumes (PV) y PersistentVolumeClaims (PVC)
- StorageClasses y aprovisionamiento dinámico
- Desplegar PostgreSQL con persistencia
- Introducción a la observabilidad: logs, métricas, traces
- kubectl logs y herramientas de agregación
- Introducción a Prometheus y Grafana (demo)
- Dashboard de Kubernetes: visualizar el clúster
- Despliegue en cloud: GKE, EKS, AKS (overview)
- CI/CD con Kubernetes: GitOps y ArgoCD
- Recursos para seguir aprendiendo
- Certificaciones: CKA, CKAD
¿Listo para comenzar tu viaje al cloud?
Plazas limitadas a 10 personas para garantizar atención personalizada.