logoUC
📚Curso disponible

Kubernetes Local con Minikube

Domina Kubernetes en local con Minikube: crea y gestiona pods, deployments y services; organiza con namespaces y configura con ConfigMaps y Secrets. Practica healthchecks (liveness/readiness), rolling updates/rollbacks y debugging con kubectl (logs, describe, exec, port-forward, events). Introducción a Helm: charts básicos, templates, values y releases. Limites del local vs nube: nodo único, LoadBalancer/Ingress, almacenamiento, redes y recursos. Buenas prácticas.

9
Módulos

Contenido del curso

Tema 1 - Instalación y primeros pasos con Minikube

10 lecciones
1.1. ¿Qué es Minikube y para qué se usa?
1.2. Requisitos mínimos del sistema para usar Minikube
1.3. Instalación de Minikube en Windows, macOS y Linux
1.4. Instalación de kubectl y su conexión con Minikube
1.5. Elección de driver de virtualización y configuración inicial
1.6. Comandos básicos: iniciar, parar y borrar clúster
1.7. Activar y usar el Dashboard de Kubernetes
1.8. Configuración de perfiles en Minikube
1.9. Depuración de errores comunes al iniciar Minikube
1.10. Buenas prácticas en el uso diario de Minikube

Tema 2 - Primeros pasos con kubectl y Pods

10 lecciones
2.1. ¿Qué es kubectl y por qué es la herramienta clave?
2.2. Sintaxis básica de kubectl: estructura de comandos
2.3. Crear Pods manualmente con kubectl run
2.4. Verificar estado de Pods y eventos asociados
2.5. Inspección de logs en tiempo real y troubleshooting
2.6. Ejecutar comandos dentro del contenedor con exec
2.7. Eliminar Pods y entender su ciclo de vida
2.8. Listar y filtrar recursos del clúster con etiquetas
2.9. Exportar configuración YAML de un recurso existente
2.10. Atajos útiles y extensiones para mejorar kubectl

Tema 3 - Desplegar apps Node.js y React en Kubernetes (manifiestos YAML)

10 lecciones
3.1. Estructura de un manifiesto YAML en Kubernetes
3.2. Crear un Deployment para un backend Node.js
3.3. Crear un Deployment para un frontend React
3.4. Definir contenedores con variables de entorno (env)
3.5. Uso de labels y selectors para organizar servicios
3.6. Crear un Service para exponer el backend
3.7. Crear un Service para acceder al frontend React
3.8. Comprobar despliegues con kubectl y acceder a apps
3.9. Validar que el frontend se comunica con el backend
3.10. Versionar manifiestos y buenas prácticas de estructura

Tema 4 - Deployments, ReplicaSets y estrategia de rollout

10 lecciones
4.1. ¿Qué es un Deployment y qué gestiona en Kubernetes?
4.2. Configurar múltiples réplicas en un Deployment
4.3. ¿Qué es un ReplicaSet y cómo se relaciona con el Deployment?
4.4. Estrategia de actualización por defecto (RollingUpdate)
4.5. Controlar versiones de la app con labels e imágenes
4.6. Comprobar el estado del rollout con kubectl
4.7. Hacer rollback a una versión anterior del Deployment
4.8. Pausar y reanudar una actualización manualmente
4.9. Escalado manual y automático del número de Pods
4.10. Buenas prácticas en despliegues progresivos

Tema 5 - Networking interno en Kubernetes con Services y DNS

10 lecciones
5.1. ¿Cómo se comunican los Pods entre sí?
5.2. Tipos de Services en Kubernetes (ClusterIP, NodePort, LoadBalancer)
5.3. Crear un Service tipo ClusterIP para uso interno
5.4. Exponer una app con Service tipo NodePort
5.5. Asignación de puertos: targetPort, port, nodePort
5.6. Comunicación entre frontend y backend usando DNS interno
5.7. Visualizar y depurar servicios con kubectl
5.8. Crear un Service por etiqueta (selector)
5.9. Networking entre namespaces distintos
5.10. Inspección con herramientas como curl, ping o busybox

Tema 6 - Configuración externa: ConfigMaps y Secrets

10 lecciones
6.1. ¿Por qué separar configuración de código?
6.2. Crear un ConfigMap desde archivo o línea de comandos
6.3. Montar un ConfigMap como variables de entorno
6.4. Montar un ConfigMap como archivo en un volumen
6.5. Crear un Secret desde archivo, texto plano o base64
6.6. Montar Secrets como variables de entorno
6.7. Montar Secrets como archivos en volúmenes
6.8. Referenciar configuración desde un Deployment o Pod
6.9. Rotación y actualización de configuración sin reiniciar
6.10. Buenas prácticas: nunca versionar secretos ni usarlos en logs

Tema 7 - Helm Básico: plantillas reutilizables para Deployments

10 lecciones
7.1. ¿Qué es Helm y por qué se utiliza?
7.2. Estructura de un Chart Helm básico
7.3. Crear un Chart con helm create
7.4. Usar variables en templates con values.yaml
7.5. Instalación de Charts con helm install
7.6. Actualizar un Chart con helm upgrade
7.7. Eliminar despliegues con helm uninstall
7.8. Ver valores y estado de un release
7.9. Empaquetar y versionar Charts personalizados
7.10. Reutilización de Charts y subcharts

Tema 8 - Rollouts, healthchecks y debugging de Pods

10 lecciones
8.1. ¿Qué es un rollout y cómo se gestiona en Kubernetes?
8.2. Comandos para gestionar rollouts
8.3. Configurar readinessProbe en Pods
8.4. Configurar livenessProbe en Pods
8.5. Ver logs del contenedor en tiempo real
8.6. Ejecutar comandos dentro del contenedor
8.7. Uso de describe para inspección profunda
8.8. Detectar errores comunes: CrashLoopBackOff, ImagePullBackOff
8.9. Pruebas con contenedores utilitarios como busybox o alpine
8.10. Simular fallos y comportamientos inesperados para test

Tema 9 - Limitaciones y diferencias entre Minikube y Kubernetes en la nube

10 lecciones
9.1. ¿Qué es exactamente Minikube y cómo funciona?
9.2. Limitaciones de un clúster single-node
9.3. Simulación limitada de redes y balanceadores reales
9.4. Almacenamiento: diferencias entre hostPath y volúmenes dinámicos en cloud
9.5. Ausencia de controladores cloud: Ingress, LoadBalancer, CSI, etc.
9.6. Rendimiento y recursos limitados del entorno local
9.7. Seguridad y RBAC simplificados en local
9.8. Logs, métricas y observabilidad limitada
9.9. Casos en los que sí es útil Minikube
9.10. Alternativas reales: EKS, GKE, AKS, Kind, k3s

¿Listo para empezar?

Aprende a desarrollar desde 0 con IA integrada. Practica, resuelve retos reales, con correcciones inmediatas y completamente tutorizado.