¿Qué es Kubernetes? Kubernetes (también conocido como K8s) es una plataforma de código abierto para automatizar el despliegue, escalado y gestión de aplicaciones containerizadas. Fue diseñado por Google y ahora es mantenido por la Cloud Native Computing Foundation (CNCF).
Características principales:
- Orquestación de contenedores: Gestiona automáticamente dónde y cómo se ejecutan los contenedores.
- Auto-escalado: Escala aplicaciones automáticamente según la demanda.
- Auto-reparación: Reinicia contenedores fallidos y reemplaza nodos.
- Balanceo de carga: Distribuye el tráfico entre contenedores.
- Gestión de secretos: Almacena y gestiona información sensible.
Arquitectura de Kubernetes:
- Control Plane: Componentes que toman decisiones globales del cluster.
- API Server: Expone la API de Kubernetes.
- etcd: Almacén de datos consistente y distribuido.
- Scheduler: Asigna pods a nodos.
- Controller Manager: Ejecuta procesos de control.
- Worker Nodes: Nodos que ejecutan las aplicaciones.
- Kubelet: Agente que corre en cada nodo.
- Kube-proxy: Mantiene reglas de red.