Saltar al contenido principal

Capítulo 1.4 - Arquitectura de Alto Nivel

Objetivos de Aprendizaje​

Al final de este capítulo, usted será capaz de:

  • Comprender la estructura de un clúster Kubernetes
  • Identificar los componentes del Control Plane
  • Identificar los componentes de los Worker Nodes
  • Comprender la comunicación entre los componentes

Introducción​

Un clúster Kubernetes está compuesto por máquinas organizadas en dos grupos principales: el Control Plane (anteriormente Master) y los Worker Nodes. Comprender esta arquitectura es esencial para dominar Kubernetes.


Visión General de un Clúster​

Estructura Básica​

Dos tipos de máquinas:

  1. Control Plane: Toma decisiones y gestiona el estado
  2. Worker Nodes: Ejecutan las aplicaciones

El Control Plane (Master)​

Rol Principal​

El Control Plane es el "cerebro" del clúster:

Responsabilidades:

  • Gestionar el estado deseado del clúster
  • Tomar decisiones de despliegue
  • Coordinar los Worker Nodes
  • Exponer la API de Kubernetes

Componentes del Control Plane​

1. API Server​

Rol: Punto de entrada único para todas las interacciones

Funcionalidades:

  • Valida y procesa todas las solicitudes
  • Expone la API REST de Kubernetes
  • Autenticación y autorización
  • Rate limiting

2. etcd​

Rol: Base de datos distribuida - Fuente de la verdad

Características:

  • Base de datos clave-valor distribuida
  • Almacena TODO el estado del clúster
  • Fuente de la verdad única
  • Alta disponibilidad (múltiples instancias)

Importante: etcd es crítico - ¡su pérdida = pérdida del clúster!

3. Controller Manager​

Rol: Ejecuta los bucles de control

Controllers incluidos:

  • Deployment Controller
  • ReplicaSet Controller
  • Service Controller
  • Node Controller
  • Y muchos más...

Principio: Supervisa el estado deseado vs el estado real y toma acciones correctivas

4. Scheduler​

Rol: Decide en qué node colocar los nuevos Pods

Criterios de selección:

  • Recursos disponibles (CPU, RAM)
  • Restricciones (affinity, anti-affinity)
  • Balanceo de carga
  • Políticas de ubicación

Los Worker Nodes​

Rol Principal​

Los Worker Nodes ejecutan las aplicaciones:

Componentes de un Worker Node​

1. kubelet​

Rol: Agente que se comunica con el API Server

Funcionalidades:

  • Recibe instrucciones del API Server
  • Gestiona los Pods en el node
  • Supervisa la salud de los contenedores
  • Reporta el estado al Control Plane

2. kube-proxy​

Rol: Gestiona el networking a nivel del node

Funcionalidades:

  • Implementa los Services (load balancing)
  • Gestiona las reglas de red
  • Routing del tráfico hacia los Pods
  • Network Policies

3. Container Runtime​

Rol: Ejecuta los contenedores

Runtimes soportados:

  • Docker (obsoleto pero aún utilizado)
  • containerd (recomendado)
  • CRI-O (ligero)

Interfaz: CRI (Container Runtime Interface)


Comunicación en el Clúster​

Flujo de Comunicación​

Comunicación API Server ↔ Nodes​

Protocolo: HTTPS (seguro) Dirección: Bidireccional

  • API Server → Nodes: Instrucciones
  • Nodes → API Server: Reportes de estado

Alta Disponibilidad​

Control Plane HA​

Para producción, el Control Plane debe ser altamente disponible:

Recomendación: Mínimo 3 instancias para quorum


Resumen del Capítulo​

En este capítulo, usted ha aprendido:

Clúster = Control Plane + Worker Nodes
Control Plane: API Server, etcd, Controller Manager, Scheduler
Worker Nodes: kubelet, kube-proxy, Container Runtime
API Server: Punto de entrada único
etcd: Base de datos del estado
kubelet: Agente en cada node
Comunicación: HTTPS entre todos los componentes


Próximos Pasos​

Ahora que usted comprende la arquitectura:

Capítulo 1.5: Conceptos Fundamentales (Pods, Services, etc.)
Lab 1.1: Primer Despliegue


Capítulo creado el: Diciembre 2024