Saltar al contenido principal

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