Kubernetes es un sistema para trabajar con aplicaciones de contenedor. El nodo tiene un papel clave que desempeñar aquí: permite llevar a cabo la carga de trabajo real. Se hace una distinción entre los nodos maestro y trabajador.
La traducción de «nodos» describe acertadamente la tarea que asume un nodo en Kubernetes: los nodos unen los clústeres de contenedores y, por lo tanto, permiten que se lleve a cabo el trabajo.
Por lo general, un nodo (anteriormente llamado minion) es un solo servidor (o máquina virtual) que tiene un entorno de tiempo de ejecución de contenedor como Docker instalado en él. En el entorno de Kubernetes, se hace una distinción entre los nodos maestro y trabajador. Los primeros se encargan de la administración del sistema, los segundos proporcionan las cargas de trabajo para los contenedores.
Explicación de la función de los nodos: un puerto de portacontenedores como metáfora
Los nodos maestros controlan su clúster de Kubernetes. Tú eres responsable del sistema en su conjunto, pero no de la ejecución de la carga de trabajo. Es común trabajar con varios nodos maestros para garantizar la seguridad ante fallas. Fieles a su nombre, los nodos trabajadores son los «trabajadores» del sistema, ejecutan las cargas de trabajo.
Para comprender las funciones, la imagen del puerto de portacontenedores debería servir de ilustración: el punto aquí es que los barcos se cargan y descargan. Los contenedores deben utilizarse para su uso posterior. Esta tarea la llevan a cabo determinados grupos de trabajo facilitados por el puerto. Estos son los nodos trabajadores.
Sin embargo, el puerto en su conjunto también debe gestionarse. Se trata de preguntas como: ¿Dónde hay espacio para los contenedores? ¿Qué trabajadores están actualmente de servicio y necesitan qué recursos? ¿Funcionan correctamente los procesos? Los nodos maestros se hacen cargo de esta gestión.
Múltiples tareas
Los nodos maestros son más complejos que los nodos trabajadores porque tienen múltiples tareas. Constan de los siguientes componentes:
- Servidor API: control de todo el clúster, punto de conexión para software de terceros
- Administrador de controladores: verificar la funcionalidad del clúster
- Programador: inicia servicios y se comunica con los nodos trabajadores (en la imagen, el capitán del puerto)
- etcd: base de datos del cluster. Los nodos maestros tienen su propia instancia aquí
- Paneles de control: interfaz gráfica de usuario
No te vayas sin leer: ¿Qué es la antimateria y por qué es importante?
Los componentes de los nodos trabajadores son:
- Kubelet: Es el responsable del estado de cada nodo. Esto significa que el kubelet lo integra en el clúster y se encarga de iniciar y detener contenedores. Se controla a través del Controller Manager. Informa de su estado al nodo maestro responsable a intervalos regulares (unos segundos). Si ya no se puede alcanzar, el administrador del controlador puede reaccionar de esta manera y delegar las tareas a otro nodo trabajador.
- Kube Proxy: Responsable del acceso a la red y la gestión de la dirección IP del proxy
- cAdvisor: Integrado en el kubelet, registra los recursos de los contenedores (uso de memoria, etc.)