Clase 00 / 34
KUBERNETES Clase 00

Introducción a Kubernetes y al CKA

Qué hace Kubernetes, su arquitectura básica y cómo es el examen CKA.

1. Qué es Kubernetes

Kubernetes es un proyecto de código abierto que sirve para gestionar aplicaciones que funcionan en contenedores.

La idea principal es no tener que gestionar los contenedores manualmente. Nosotros indicamos lo que queremos y Kubernetes intenta mantenerlo.

Es decir, queremos distribuir aplicaciones entre nodos, gestionar múltiples contenedores y tener varias réplicas de una aplicación. Si una aplicación falla, Kubernetes puede intentar recuperarla. Esto ayuda a mantenerla disponible, aunque no garantiza que nunca haya interrupciones.

Un clúster es un conjunto de máquinas que trabajan juntas. Cada una de esas máquinas es un nodo, ya sea físico o virtual.

Un Pod es la unidad mínima que Kubernetes gestiona. Contiene uno o más contenedores que trabajan juntos.

2. Arquitectura

En cuanto a la arquitectura, tenemos un control plane, que sería el cerebro: coordina el clúster. Luego están los workers, que son los trabajadores: ejecutan las aplicaciones.

En ambos tenemos kubelet, el agente de Kubernetes en cada nodo. Se encarga de que los Pods asignados a ese nodo estén funcionando.

También tenemos el runtime de contenedores, que es el software que ejecuta los contenedores. En nuestro laboratorio usaremos containerd.

En el control plane tenemos el API Server, que recibe las peticiones para consultar o cambiar el clúster. Por ejemplo, cuando usamos kubectl. También está etcd, la base de datos que guarda el estado y la configuración del clúster.

El Scheduler elige en qué nodo ejecutar cada Pod que todavía no tiene uno asignado. El Controller Manager detecta diferencias entre lo que queremos y lo que existe, y actúa para corregirlas.

Por otro lado tenemos los workers, donde ejecutaremos los Pods de nuestras aplicaciones. También tenemos kube-proxy, que mantiene reglas de red para que el tráfico de los Services llegue a los Pods. No es exclusivo de los workers: en nuestro laboratorio también puede ejecutarse en los nodos del control plane.

Pongo una imagen de ejemplo que ayuda a entender cómo funciona:

Clúster Kubernetes: el control plane coordina mediante API Server, etcd, Scheduler y Controller Manager; los workers ejecutan los Pods con kubelet, containerd y kube-proxy. El control plane también necesita kubelet y un runtime.
Control plane y worker son roles. En el laboratorio, las aplicaciones se ejecutan en los workers.

3. CKA

Este curso está pensado para adquirir un buen nivel de Kubernetes y prepararnos para la certificación CKA (Certified Kubernetes Administrator), con la que podemos mejorar nuestro perfil profesional.

El examen es parecido al RHCSA, para quienes lo hayáis hecho: es totalmente práctico, se realiza online y tenemos 2 horas para completar las tareas. Podemos hacerlo en inglés, pero no está disponible en español.

Como en el RHCSA, un supervisor nos vigila durante el examen. Para aprobar necesitamos una puntuación de 66 % o más.

No podemos navegar libremente por Internet, pero sí consultar los recursos autorizados desde el navegador del entorno del examen, como la documentación oficial de Kubernetes, Helm y Gateway API. Recomiendo tener la documentación abierta mientras hacéis los laboratorios para familiarizaros con ella.

En el temario oficial, Storage supone el 10 %, Troubleshooting el 30 % y Workloads & Scheduling el 15 %.

El 25 % corresponde a Cluster Architecture, Installation & Configuration, y el 20 % a Services & Networking.

El curso se basará en Kubernetes 1.35, pero la versión del examen puede cambiar según cuándo lo hagas.

Referencias: arquitectura de Kubernetes, información oficial del CKA, recursos permitidos y temario oficial.