Skip to main content

Componentes y conceptos básicos de Kubernetes


Mapa rápido de las partes que componen un clúster y los objetos más habituales que se gestionan. No pretende explicar cada detalle, solo servir de referencia visual y orden mental.


Arquitectura general

Control Plane (el cerebro del clúster):

  • API Server → punto de entrada de todas las peticiones (kubectl, dashboards, controladores).
  • etcd → base de datos donde se guarda el estado del clúster.
  • Controller Manager → vigila que el estado real coincida con el deseado (replicas, jobs, etc.).
  • Scheduler → decide en qué nodo se ejecuta cada Pod.

Nodos de trabajo (Workers):

  • kubelet → agente que ejecuta Pods y reporta su estado.
  • kube-proxy → gestiona reglas de red y balanceo.
  • Container Runtime → ejecuta los contenedores (containerd, CRI-O, Docker, etc.).

Recursos fundamentales

Tipo Descripción rápida
Pod Unidad mínima ejecutable: uno o más contenedores que comparten red y almacenamiento.
ReplicaSet Asegura que haya N réplicas de un Pod. Suele gestionarse a través de un Deployment.
Deployment Controla la creación y actualización de Pods. Ideal para aplicaciones sin estado.
StatefulSet Igual que Deployment, pero mantiene identidad y almacenamiento por Pod.
DaemonSet Asegura que haya un Pod corriendo en cada nodo (útil para logs, monitorización).
Job / CronJob Ejecutan tareas puntuales o programadas.

Almacenamiento

Recurso Función
Volume Espacio de almacenamiento montado en un Pod. Puede ser efímero o persistente.
PersistentVolume (PV) Recurso del clúster que representa almacenamiento físico o lógico disponible.
PersistentVolumeClaim (PVC) Petición de almacenamiento por parte de un usuario. Se vincula con un PV.
StorageClass Define políticas de aprovisionamiento dinámico (por tipo, rendimiento, etc.).

Red y exposición de servicios

Recurso Función
Service IP estable y punto de acceso para un conjunto de Pods.
ClusterIP Servicio interno (por defecto).
NodePort Expone el servicio en un puerto del nodo.
LoadBalancer Usa un balanceador externo (en nubes o setups con MetalLB).
Ingress Reglas HTTP(S) que enrutan tráfico externo hacia los Services.
Ingress Controller Implementa las reglas de Ingress (NGINX, Traefik, etc.).
NetworkPolicy Controla el tráfico permitido entre Pods o namespaces.

Configuración y seguridad

Recurso Función
ConfigMap Almacena configuración no sensible.
Secret Datos sensibles (contraseñas, tokens).
ServiceAccount Identidad usada por procesos dentro del clúster.
Role / ClusterRole Define permisos.
RoleBinding / ClusterRoleBinding Asigna permisos a usuarios o cuentas de servicio.
SecurityContext Define restricciones de privilegios a nivel de Pod o contenedor.
PodSecurity (PSA/PSS) Políticas globales de seguridad de Pods.

Observabilidad y control

Recurso / componente Función
Events Registro de sucesos del clúster.
Metrics Server Proporciona métricas de CPU/RAM (para kubectl top).
Logs Salida de contenedores y del sistema.
Probes (liveness/readiness/startup) Verifican salud y disponibilidad de los Pods.
PodDisruptionBudget (PDB) Define cuántos Pods pueden estar fuera de servicio simultáneamente.

📘 Referencias: Kubernetes Concepts (docs oficiales) · DevOpsCube - Kubernetes Architecture


Analogía para no romperse la cabeza

Control Plane → el jefe de la obra: da órdenes, no toca nada. API Server → el secretario: recibe tus órdenes y las reparte. etcd → el cuaderno donde se apunta todo. Scheduler → el encargado que reparte tareas entre los obreros. Controller Manager → el pesado que revisa que todo siga como estaba planeado.

Nodos de trabajo → los obreros.

  • kubelet → el capataz del nodo.
  • kube-proxy → el tío del tráfico que pone conos en la red.
  • Container Runtime → la máquina que realmente enciende las cosas.

Pod → una caja de herramientas. ReplicaSet → el contador de cajas. Deployment → el planificador de cuándo y cómo se cambian. StatefulSet → el que lleva etiquetas con nombres. DaemonSet → el repartidor que deja una caja en cada nodo. Job / CronJob → el que hace algo una vez o a horas fijas.

PV / PVC / StorageClass → el almacén, el ticket de pedido y el tipo de almacén. PV = almacén físico. PVC = papelito que dice “quiero un trozo de almacén”. StorageClass = tipo de almacén (rápido, barato, lento…).

Service → el interfono para hablar con Pods. ClusterIP → solo dentro del edificio. NodePort → el portero abre una puerta concreta. LoadBalancer → el recepcionista elegante. Ingress → el telefonista que enruta llamadas desde fuera. Ingress Controller → quien ejecuta las reglas del telefonista.

ConfigMap → el post-it con configuraciones. Secret → el post-it en una caja fuerte. RBAC / Roles → el carné de acceso. SecurityContext → el contrato de cada trabajador.

Probes → los médicos que revisan si los Pods respiran. PDB → el seguro que impide despedir a todos a la vez. Events / Logs / Metrics → los chismes del grupo de WhatsApp donde se entera todo el mundo.