Formación Kubernetes
Orquestación de Contenedores y Despliegue Cloud-Native
Código del curso: 420-911-MA
Sesión: Invierno 2025
Docente: Haythem Rehouma
Institución: inskillflow academy
Visión General del Curso
Esta formación completa le permitirá dominar Kubernetes, la plataforma de orquestación de contenedores más utilizada en el mundo. Desde la introducción hasta los conceptos avanzados, aprenderá a desplegar, gestionar y escalar aplicaciones contenerizadas en producción.
Objetivos de Aprendizaje
Al finalizar este curso, usted será capaz de:
- Comprender la arquitectura y los conceptos fundamentales de Kubernetes
- Desplegar y gestionar aplicaciones contenerizadas
- Configurar servicios, redes y almacenamiento
- Implementar la seguridad y el control de acceso (RBAC)
- Utilizar Helm para la gestión de paquetes
- Monitorizar y depurar clústeres Kubernetes
- Desplegar aplicaciones en producción con las mejores prácticas
Enfoque Pedagógico
70% Práctica - 30% Teoría
Cada módulo combina:
- Explicaciones teóricas detalladas con diagramas Mermaid
- Laboratorios prácticos
- Ejemplos concretos y casos de uso reales
- Ejercicios y cuestionarios de validación
Plan de Curso - 12 Módulos
MÓDULO 1 - Introducción a Kubernetes ✅ COMPLETO
Duración: 2-3 sesiones
Contenido:
- ¿Qué es Kubernetes y por qué usarlo?
- Historia y evolución (Docker → Kubernetes)
- Conceptos fundamentales (Pods, Nodes, Clusters)
- Arquitectura de Kubernetes (Control Plane vs Worker Nodes)
- Comparación con otras soluciones de orquestación
Objetivos:
- Comprender el rol de Kubernetes en el ecosistema cloud-native
- Identificar los componentes principales
- Descubrir el ecosistema Kubernetes
Labs:
- Lab 1.1: Primer Despliegue Kubernetes
MÓDULO 2 - Arquitectura y Componentes de Kubernetes ✅ COMPLETO
Duración: 2-3 sesiones
Contenido:
- Arquitectura detallada del Control Plane
- API Server
- etcd
- Controller Manager
- Scheduler
- Componentes de los Worker Nodes
- kubelet
- kube-proxy
- Container Runtime
- Add-ons y extensiones
- Comunicación entre componentes
Objetivos:
- Comprender el funcionamiento interno de Kubernetes
- Identificar el rol de cada componente
- Visualizar los flujos de comunicación
Labs:
- Lab 2.1: Inspección del Control Plane
- Lab 2.2: Análisis de los Worker Nodes
- Lab 2.3: Monitorización de los componentes del sistema
MÓDULO 3 - Pods y Despliegues ✅ COMPLETO
Duración: 3-4 sesiones
Contenido:
- Pods: unidad atómica de despliegue
- Declaraciones YAML y JSON
- Labels y Selectors
- ReplicaSets y gestión de la replicación
- Deployments: despliegues declarativos
- Estrategias de despliegue (Rolling Update, Blue/Green, Canary)
- Health Checks (Liveness, Readiness, Startup Probes)
Objetivos:
- Dominar los Pods y su ciclo de vida
- Desplegar aplicaciones con Deployments
- Gestionar actualizaciones sin interrupción
Labs:
- Lab 3.1: Creación y gestión de Pods
- Lab 3.2: Despliegue con ReplicaSets
- Lab 3.3: Deployments y Rolling Updates
- Lab 3.4: Configuración de Health Checks
MÓDULO 4 - Servicios y Networking ✅ COMPLETO
Duración: 3-4 sesiones
Contenido:
- Servicios: exposición de aplicaciones
- Tipos de Servicios (ClusterIP, NodePort, LoadBalancer, ExternalName)
- Service Discovery y DNS interno
- Endpoints y EndpointSlices
- Network Policies
- Ingress (concepto, se profundizará en el Módulo 8)
- CNI (Container Network Interface)
Objetivos:
- Exponer aplicaciones dentro del clúster
- Comprender el networking de Kubernetes
- Proteger la comunicación de red
Labs:
- Lab 4.1: Servicios ClusterIP y NodePort
- Lab 4.2: Service Discovery con DNS
- Lab 4.3: Network Policies
- Lab 4.4: LoadBalancer e integración cloud
MÓDULO 5 - Configuración y Secrets ✅ COMPLETO
Duración: 2-3 sesiones
Contenido:
- ConfigMaps: gestión de la configuración
- Secrets: gestión de datos sensibles
- Variables de entorno
- Volúmenes de tipo ConfigMap y Secret
- Buenas prácticas de seguridad
- External Secrets Operator (introducción)
Objetivos:
- Separar la configuración del código
- Gestionar los secrets de manera segura
- Aplicar las buenas prácticas
Labs:
- Lab 5.1: Creación y uso de ConfigMaps
- Lab 5.2: Gestión de Secrets
- Lab 5.3: Inyección de configuración en los Pods
- Lab 5.4: Rotación de secrets
MÓDULO 6 - Almacenamiento y Volúmenes ✅ COMPLETO
Duración: 3-4 sesiones
Contenido:
- Volúmenes: tipos y uso
- PersistentVolumes (PV) y PersistentVolumeClaims (PVC)
- StorageClasses y aprovisionamiento dinámico
- Tipos de almacenamiento (local, NFS, proveedores cloud)
- Volume Snapshots
- StatefulSets: aplicaciones con estado
Objetivos:
- Gestionar el almacenamiento persistente
- Comprender los diferentes tipos de volúmenes
- Desplegar aplicaciones stateful
Labs:
- Lab 6.1: Volúmenes ephemeral y emptyDir
- Lab 6.2: PersistentVolumes y PVCs
- Lab 6.3: StorageClasses y aprovisionamiento dinámico
- Lab 6.4: StatefulSet con almacenamiento persistente
MÓDULO 7 - Workloads Avanzados ✅ COMPLETO
Duración: 3-4 sesiones
Contenido:
- StatefulSets: aplicaciones con estado
- DaemonSets: despliegue en todos los nodes
- Jobs: tareas puntuales
- CronJobs: tareas programadas
- Init Containers
- Sidecar Pattern
Objetivos:
- Utilizar los diferentes tipos de workloads
- Comprender los casos de uso específicos
- Implementar patrones avanzados
Labs:
- Lab 7.1: StatefulSet para base de datos
- Lab 7.2: DaemonSet para monitorización
- Lab 7.3: Jobs y CronJobs
- Lab 7.4: Init Containers y Sidecars
MÓDULO 8 - Ingress y Load Balancing ✅ COMPLETO
Duración: 2-3 sesiones
Contenido:
- Ingress: exposición HTTP/HTTPS
- Ingress Controllers (NGINX, Traefik, etc.)
- Ingress Rules y Path-based routing
- TLS/SSL y certificados
- Load Balancing avanzado
- Service Mesh (introducción Istio/Linkerd)
Objetivos:
- Exponer aplicaciones web vía Ingress
- Configurar el routing y el load balancing
- Proteger las comunicaciones HTTPS
Labs:
- Lab 8.1: Configuración de Ingress NGINX
- Lab 8.2: Path-based routing
- Lab 8.3: TLS/SSL con cert-manager
- Lab 8.4: Multi-dominios y virtual hosts
MÓDULO 9 - Seguridad y RBAC ✅ COMPLETO
Duración: 3-4 sesiones
Contenido:
- Autenticación y autorización
- RBAC (Role-Based Access Control)
- Roles y RoleBindings
- ClusterRoles y ClusterRoleBindings
- Service Accounts
- Pod Security Policies / Pod Security Standards
- Network Policies (profundización)
- Gestión avanzada de secrets
Objetivos:
- Implementar la seguridad en Kubernetes
- Gestionar los permisos con RBAC
- Proteger las aplicaciones y el clúster
Labs:
- Lab 9.1: Creación de Roles y RoleBindings
- Lab 9.2: Service Accounts y permisos
- Lab 9.3: Pod Security Standards
- Lab 9.4: Auditoría de seguridad
MÓDULO 10 - Helm y Package Management ✅ COMPLETO
Duración: 2-3 sesiones
Contenido:
- Helm: gestor de paquetes Kubernetes
- Charts y Releases
- Templates y valores
- Hooks y dependencias
- Creación de Charts personalizados
- Helmfile para la gestión multi-entornos
- Artifact Hub y Charts públicos
Objetivos:
- Utilizar Helm para desplegar aplicaciones
- Crear y mantener Charts
- Gestionar despliegues complejos
Labs:
- Lab 10.1: Instalación y uso de Charts Helm
- Lab 10.2: Personalización con values.yaml
- Lab 10.3: Creación de un Chart personalizado
- Lab 10.4: Helmfile y multi-entornos
MÓDULO 11 - Monitoring y Observabilidad ✅ COMPLETO
Duración: 3-4 sesiones
Contenido:
- Métricas de Kubernetes (cAdvisor, kube-state-metrics)
- Prometheus: recolección y almacenamiento de métricas
- Grafana: visualización y dashboards
- Logging con Fluentd/Fluent Bit y ELK
- Distributed Tracing (Jaeger, Zipkin)
- Alerting con Alertmanager
- Health Checks y auto-healing
Objetivos:
- Monitorizar los clústeres y aplicaciones
- Visualizar métricas y logs
- Implementar la observabilidad completa
Labs:
- Lab 11.1: Instalación de Prometheus y Grafana
- Lab 11.2: Creación de dashboards personalizados
- Lab 11.3: Configuración del logging
- Lab 11.4: Alerting y notificaciones
MÓDULO 12 - Despliegue en Producción ✅ COMPLETO
Duración: 3-4 sesiones
Contenido:
- Preparación para producción
- Multi-clústeres y Alta Disponibilidad
- Backup y Disaster Recovery
- CI/CD con Kubernetes (GitOps con ArgoCD/Flux)
- Resource Management (Requests, Limits, QoS)
- Autoscaling (HPA, VPA, Cluster Autoscaler)
- Troubleshooting y debugging
- Mejores prácticas de producción
Objetivos:
- Desplegar aplicaciones en producción
- Implementar alta disponibilidad
- Optimizar recursos y costos
Labs:
- Lab 12.1: Configuración de Resource Management
- Lab 12.2: Autoscaling horizontal y vertical
- Lab 12.3: GitOps con ArgoCD
- Lab 12.4: Proyecto final completo
Herramientas y Tecnologías
Entorno de Desarrollo
- kubectl: CLI Kubernetes
- minikube / kind: Clústeres locales
- Docker / containerd: Container Runtime
- Helm: Package Manager
- k9s / Lens: Herramientas de visualización
Tecnologías Cloud
- Kubernetes: 1.28+ (última versión estable)
- Container Runtime: containerd, CRI-O
- CNI: Calico, Flannel, Weave Net
- CSI: Storage drivers
Herramientas Complementarias
- Prometheus & Grafana: Monitoring
- Helm: Package management
- ArgoCD / Flux: GitOps
- cert-manager: Gestión de certificados
- Istio / Linkerd: Service Mesh (opcional)
Competencias Desarrolladas
Competencias Técnicas
Orquestación de Contenedores:
- Despliegue y gestión de aplicaciones contenerizadas
- Escalado automático y manual
- Gestión del ciclo de vida de las aplicaciones
- Configuración y gestión de secrets
Arquitectura Cloud-Native:
- Microservicios y arquitectura distribuida
- Service discovery y load balancing
- Almacenamiento persistente y aplicaciones stateful
- Networking y seguridad de red
DevOps y Producción:
- CI/CD con Kubernetes
- Monitoring y observabilidad
- Troubleshooting y debugging
- Mejores prácticas de producción
Competencias Profesionales
- Comprensión del ecosistema cloud-native
- Despliegue de aplicaciones en producción
- Resolución de problemas complejos
- Colaboración con equipos DevOps/SRE
Evaluaciones
Trabajos Prácticos (50%)
- TP1: Despliegue de aplicación multi-tier (15%)
- TP2: Configuración completa con monitoring (20%)
- TP3: Proyecto GitOps y producción (15%)
Laboratorios (30%)
- Labs semanales (25%)
- Participación y compromiso (5%)
Proyecto Final (20%)
- Aplicación completa desplegada en Kubernetes (15%)
- Documentación y presentación (5%)
Total: 100%
Prerrequisitos
Conocimientos Previos
- Conceptos de contenerización (Docker)
- Linux y línea de comandos
- Conceptos básicos de red
- YAML/JSON (sintaxis básica)
Requisitos de Hardware
- Ordenador con mínimo 8 GB RAM (16 GB recomendado)
- 50 GB de espacio libre en disco
- Conexión a Internet estable
- Procesador de 64 bits con virtualización activada
Software a Instalar
- Docker Desktop o Docker Engine
- kubectl (CLI Kubernetes)
- minikube o kind (clúster local)
- Helm (package manager)
- Un IDE o editor de texto (VS Code recomendado)
Recursos del Curso
Documentación Oficial
Libros Recomendados
- "Kubernetes: Up and Running" - Kelsey Hightower
- "The Kubernetes Book" - Nigel Poulton
- "Kubernetes in Action" - Marko Lukša
Comunidad
Progresión del Curso
[✅ COMPLETO] MÓDULO 1 - Introducción a Kubernetes
[✅ COMPLETO] MÓDULO 2 - Arquitectura y Componentes
[✅ COMPLETO] MÓDULO 3 - Pods y Despliegues
[✅ COMPLETO] MÓDULO 4 - Servicios y Networking
[✅ COMPLETO] MÓDULO 5 - Configuración y Secrets
[✅ COMPLETO] MÓDULO 6 - Almacenamiento y Volúmenes
[✅ COMPLETO] MÓDULO 7 - Workloads Avanzados
[✅ COMPLETO] MÓDULO 8 - Ingress y Load Balancing
[✅ COMPLETO] MÓDULO 9 - Seguridad y RBAC
[✅ COMPLETO] MÓDULO 10 - Helm y Package Management
[✅ COMPLETO] MÓDULO 11 - Monitoring y Observabilidad
[✅ COMPLETO] MÓDULO 12 - Despliegue en Producción
¡Comience Ahora!
Explore los módulos en el menú lateral y comience su aprendizaje de Kubernetes.
¡Buen curso y buen aprendizaje!
Última actualización: Diciembre 2024