Kubernetes
Tecnología

Kubernetes

La plataforma de orquestación de contenedores

Kubernetes es un sistema de código abierto para automatizar el despliegue, el escalado y la gestión de aplicaciones en contenedores. Agrupa los contenedores en unidades lógicas para facilitar su gestión y descubrimiento, y trabaja continuamente para mantener el estado real de un clúster alineado con el estado que declaras.

Cómo funciona

Un clúster de Kubernetes se compone de un plano de control (API server, scheduler, controller manager, etcd) y nodos worker que ejecutan un runtime de contenedores y el agente kubelet. Describes el estado deseado, cuántas réplicas de un Pod deben ejecutarse, qué recursos necesitan, cómo deben exponerse, como objetos en la API, y los controladores de Kubernetes reconcilian continuamente el clúster hacia ese estado.

Conceptos clave

  • Pod — la unidad desplegable más pequeña: uno o más contenedores que comparten red y almacenamiento.
  • Deployment — gestiona un conjunto de Pods réplica y se encarga de las actualizaciones progresivas y los rollbacks.
  • Service — un endpoint de red estable que balancea el tráfico entre un conjunto de Pods.
  • Namespace — una forma de dividir un clúster en entornos lógicos aislados.
  • Controller (controlador) — un bucle de control que observa el estado del clúster y lo mueve hacia el estado deseado.

Por qué los equipos adoptan Kubernetes

  • Portable. Los mismos manifiestos se ejecutan en cualquier clúster conforme, desde un portátil hasta un despliegue multirregión de gran tamaño.
  • Autorreparable. Los contenedores fallidos se reinician, los nodos no saludables se drenan y las cargas de trabajo se reprograman automáticamente.
  • Extensible. Los Custom Resource Definitions y los controladores te permiten extender la API para gestionar tus propios recursos específicos de dominio.
  • Ecosistema. Casi todos los proyectos de la CNCF, service meshes, herramientas de observabilidad, controladores GitOps, están construidos para ejecutarse sobre Kubernetes y extenderlo.

Primeros pasos

Instala kubectl, obtén acceso a un clúster y aplica un manifiesto de Deployment y Service para ejecutar tu primera carga de trabajo. Las guías siguientes se construyen sobre esa base con patrones comunes para ejecutar aplicaciones reales.