Python y Kubernetes para principiantes

De cero al cloud en 4 semanas

EN VIVO Y DIRECTO MÁXIMO 10 PERSONAS

Precio: 300 EUR | 24 horas de formación intensiva

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
Funciones y módulos
  • 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
Práctica
  • 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
Flask Framework
  • 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
Práctica
  • 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
Comandos esenciales
  • docker run, docker ps, docker stop, docker rm
  • docker images, docker pull, docker push
  • docker logs y docker exec para debugging
Dockerfile
  • 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
Práctica
  • 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
Volúmenes y persistencia
  • 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
Docker Compose
  • 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
Práctica
  • 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
Arquitectura del clúster
  • Control Plane: API Server, etcd, Scheduler, Controller Manager
  • Worker Nodes: kubelet, kube-proxy, container runtime
  • Comunicación entre componentes del clúster
Entorno local
  • 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
Pods
  • 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)
Services
  • 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
Práctica
  • 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
ConfigMaps
  • 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)
Secrets
  • 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
Práctica
  • 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
Persistencia en Kubernetes
  • PersistentVolumes (PV) y PersistentVolumeClaims (PVC)
  • StorageClasses y aprovisionamiento dinámico
  • Desplegar PostgreSQL con persistencia
Monitoreo básico
  • 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
Siguientes pasos
  • 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.