Cómo funciona Kubernetes: funcionamiento y estructura

Cómo funciona Kubernetes: mini guía para entender el funcionamiento de una de las herramientas más importantes para un desarrollador de hoy

¿Cómo funciona Kubernetes? Lo vamos a ver en esta mini guía, teniendo siempre en cuenta que Kubernetes es una herramienta de gran relevancia para un desarrollador que quiere crecer y que realmente cree en su profesión. 

Empezamos con la definición de qué es Kubernetes puesto que estamos hablando de una plataforma de orquestación para contenedores open source, diseñada para la ejecución de aplicaciones y servicios distribuidos en gran escala. 

Vale, dicho esto, que significa todo y nada, vamos a ver cómo funciona Kubernetes y cuáles son las funcionalidades principales de este instrumento Devops que, más que otros, hoy completa de manera significativa las habilidades de un desarrollador.

Diseñar con Kubernetes

Para comprender el funcionamiento de Kubernetes, empezamos con el concepto de planificación. La planificación con Kubernetes se basa completamente en grupos. ¿Cómo tiene que ser un grupo? 

  • Seguro. El grupo “conforme” tiene que estar en línea con las prácticas adecuadas y actualizadas desde el punto de vista de la seguridad. 
  • Fácil para usar. Tiene que poder funcionar con pocas y sencillas órdenes.  
  • Ampliable. No debe ser vinculado a ningún vendor lock in y sobre todo debe ser personalizable a partir de un archivo de configuración. 

Grupo Kubernetes

Un grupo de Kubernetes posee dos elementos esenciales que tienen que ser profundizados atentamente:

  • plan de control
  • nódulos

Plan de control

El centro neurálgico del grupo Kubernetes es el plan de control, en el cual encontramos las componentes Kubernetes que controlan el grupo y los datos sobre el estatus y la configuración del grupo.

Cada plan de control, en el marco de Kubernetes a su vez se constituye de estos elementos fundamentales. Deberéis considerar que el plan de control garantiza la mejor configuración del grupo.

kube apiserver

La API Kubernetes representa de hecho la interfaz del plan de control de Kubernetes porque gestiona sus solicitudes internas y exteriores. 

El servidor API establece si una solicitud es válida, y en caso positivo, procede con su elaboración. 

kube scheduler

El planificador Kubernetes se ocupa de garantizar la integridad del grupo y entonces de asegurar que el grupo tenga la capacidad suficiente para alojar nuevos contenedores. 

kube controller manager

Los controladores que se ocupan de la efectiva ejecución del grupo, en el específico significa que el controlador-agente Kubernetes reúne en un único controlador muchas funcionalidades de control. 

etcd

Un etcd es una base de datos de almacenamiento clave-valor, por lo tanto memoriza datos e información de configuración conectados al estatus del grupo.

Nódulos

Un grupo Kubernetes requiere al menos un nódulo de trabajo, pero hay que tener en cuenta de que, generalmente, hay más que un nódulo dentro del grupo. Los Pods se planifican y orquestan para ser ejecutados en los nódulos, en consecuencia para aumentar la capacidad de los grupos, es suficiente añadir otros nódulos. 

Cada nódulo a su vez, en el marco Kubernetes, se constituye de estos elementos fundamentales. 

pod

Como se puede deducir, todos los pods son constituidos por contenedores, o de parejas de contenedores. El Pod es la unidad más pequeña de todo el sistema Kubernetes. 

motor del tiempo de ejecución del contenedor

Cada nódulo a su vez soporte un motor del tiempo de ejecución para ejecutar los contenedores, no es causalidad que Docker sea uno de estos. 

kubelet

Se trata de una mini aplicación que comunica con el plan de control y verifica que los contenedores sean ejecutados en un pod. 

kube proxy

Su función es la de gestionar las comunicaciones de red internas y externas al grupo, coordinando la filtración de los paquetes del sistema operativo.

Read related articles