Kubernetes: el bucle que corrige
Pods, deployments, services y el estado deseado, sin necesitar un clúster.
13 aulas · 9 horas de práctica · en el navegador, sin instalar nada
Temario
- El bucle que corrige: estado deseado vs estado actual — Qué problema resuelve Kubernetes, qué es un controlador, y la arquitectura mínima —API server, etcd, scheduler, controller manager, kubelet— que hace posible el bucle de reconciliación.
- Pods: la unidad mínima que programa Kubernetes — Qué es un Pod, por qué puede tener más de un contenedor, los comandos básicos de kubectl para mirarlo por dentro, y por qué casi nunca se crea uno suelto.
- Deployments y ReplicaSets: réplicas y despliegues sin caída — Por qué hay dos capas —Deployment y ReplicaSet— entre vos y los Pods, cómo RollingUpdate reemplaza versiones sin downtime con maxSurge y maxUnavailable, y los comandos para mirar y deshacer un rollout.
- Parcial 1: el bucle de reconciliación, pods y deployments — Diez preguntas de las aulas 1 a 3: qué es el bucle de reconciliación, la arquitectura mínima del clúster, qué es un pod y por qué casi nunca va suelto, y cómo un Deployment reemplaza versiones sin caída.
- Services: una dirección estable para pods que van y vienen — Por qué un pod no sirve como dirección de nada, cómo un Service encuentra sus pods por selector de labels, los tres tipos —ClusterIP, NodePort, LoadBalancer— y el DNS interno que los nombra.
- Ingress: un solo punto de entrada que reparte por host y ruta — Por qué un LoadBalancer por servicio no escala, cómo un Ingress define reglas de ruteo por host y path, qué hace falta para que TLS termine ahí, y la diferencia entre el objeto Ingress y el controlador que lo hace real.
- ConfigMaps y Secrets: la configuración vive afuera de la imagen — Por qué la configuración no se hornea en la imagen del contenedor, cómo montarla como variables de entorno o como archivos, y la diferencia real —ninguna, en seguridad— entre un ConfigMap y un Secret.
- Estado: por qué una base de datos es distinta a una API sin estado — Qué pasa con los archivos de un contenedor cuando se reinicia, qué resuelve un volumen, la diferencia entre PersistentVolume y PersistentVolumeClaim, y por qué un StatefulSet existe para lo que un Deployment no puede manejar bien.
- Parcial 2: services, ingress, configuración y estado — Diez preguntas de las aulas 4 a 7: cómo un Service encuentra pods por labels, qué hace un Ingress, la diferencia real entre ConfigMap y Secret, y por qué una base de datos necesita un StatefulSet.
- Recursos y scheduling: requests, limits y por qué un pod queda Pending — Qué son requests y limits de CPU y memoria, cómo los usa el scheduler para elegir nodo, qué es la calidad de servicio (QoS) de un pod, y por qué uno se queda esperando en Pending.
- Salud y escala: probes y el HorizontalPodAutoscaler — La diferencia entre liveness, readiness y startup probes, qué controla cada una, y cómo el HorizontalPodAutoscaler reconcilia la cantidad de réplicas según el uso observado de CPU.
- Operar: namespaces, RBAC y diagnosticar un CrashLoopBackOff — Cómo namespaces separan cargas dentro de un mismo clúster, qué controla RBAC con Roles y RoleBindings, los comandos de diagnóstico del día a día, y el árbol de decisión para un pod en CrashLoopBackOff.
- Examen final de Kubernetes — Diez preguntas de las diez aulas: el bucle de reconciliación, pods, deployments, services, ingress, configuración, estado, recursos, salud y escala, y cómo operar el día a día.