Jump to section

¿Qué es un clúster de Kubernetes?

Copiar URL

Un clúster de Kubernetes es un conjunto de máquinas de nodos que ejecutan aplicaciones en contenedores. Si ejecuta Kubernetes, está ejecutando un clúster.

Un clúster contiene, como mínimo, un plano de control y una o varias máquinas informáticas o nodos. El plano de control es el encargado de mantener el estado deseado del clúster y de controlar, por ejemplo, las aplicaciones que se ejecutan y las imágenes de contenedores que se utilizan. Los nodos son los que realmente ejecutan las aplicaciones y las cargas de trabajo.

La ventaja más importante de Kubernetes es la capacidad de programar y ejecutar los contenedores en un grupo de máquinas, ya sean físicas o virtuales, en las instalaciones o en la nube, y esto es posible gracias al clúster. Los contenedores de Kubernetes no están ligados a ninguna máquina individual. De hecho, están aislados en el clúster.

Los clústeres de Kubernetes tienen un estado deseado, que define las aplicaciones o las cargas de trabajo que deben ejecutarse, las imágenes que se utilizan, los recursos que deben estar disponibles y demás detalles de configuración.

El estado deseado se define a través de archivos de configuración compuestos por manifiestos. Se trata de archivos JSON o YAML que indican el tipo de aplicación que se ejecutará y la cantidad de réplicas necesarias para que un sistema funcione en buenas condiciones.

El estado deseado del clúster se define con la API de Kubernetes. Esto puede llevarse a cabo desde la línea de comandos (con kubectl) o usando la API para interactuar con el clúster y establecer o modificar el estado deseado.

Kubernetes gestionará el clúster de forma automática para que coincida con dicho estado. Por ejemplo, supongamos que implementa una aplicación con un estado deseado de "tres". Esto quiere decir que deberían ejecutarse tres réplicas de la aplicación. Si uno de los contenedores falla, Kubernetes notará que solo hay dos réplicas en ejecución y agregará una para lograr el estado deseado.

También puede utilizar los patrones de Kubernetes para gestionar la expansión de su clúster de forma automática en función de la carga. 

¿Cómo se relaciona un clúster con un nodo, un pod y otros términos de Kubernetes?

Ya definimos al clúster como un conjunto de nodos. Veamos otros términos de Kubernetes que nos sirven para entender la función de un clúster.

Plano de control: conjunto de procesos que controlan los nodos de Kubernetes. Aquí es donde se originan todas las asignaciones de tareas.

Nodos: máquinas que realizan las tareas solicitadas que asigna el plano de control.

Pod: un grupo de uno o más contenedores implementados en un solo nodo. Es el objeto más pequeño y simple de Kubernetes.

Servicio: forma de exponer una aplicación que se ejecuta en un conjunto de pods como un servicio de red. Esto separa las definiciones de las tareas de los pods.

Volumen: directorio que contiene datos, al que pueden acceder los contenedores de un pod. Un volumen de Kubernetes tiene la misma vida útil que el pod que lo contiene. Sin embargo, dura más que cualquiera de los contenedores que se ejecutan dentro del pod, y los datos se conservan cuando se reinicia alguno de ellos.

Espacio de nombre: clúster virtual. Permite que Kubernetes gestione varios clústeres para distintos equipos o proyectos dentro del mismo clúster físico.

Gracias a las aplicaciones modernas desarrolladas en la nube, los entornos de Kubernetes son cada vez más distribuidos. Se pueden implementar en diversos centros de datos locales, en la nube pública y en el extremo de la red.

Las empresas que quieran usar Kubernetes en la producción o según sea necesario tendrán varios clústeres para diversos procesos (como el desarrollo, las pruebas y la producción), distribuidos en varios entornos. Por eso, es importante que puedan gestionarlos de manera eficaz.

La gestión de los clústeres de Kubernetes se refiere a la forma en la que un equipo de TI administra un grupo de clústeres de esta plataforma. 

Red Hat es líder y desarrollador activo de la tecnología de contenedores open source, incluido Kubernetes. Además, diseña herramientas fundamentales para proteger, simplificar y actualizar la infraestructura de contenedores de forma automática. 

Red Hat® OpenShift® es una distribución empresarial de Kubernetes. Con este producto, los equipos de operaciones y desarrollo obtienen una plataforma única e integrada. Red Hat OpenShift ofrece a los desarrolladores la posibilidad de elegir los lenguajes, los marcos de trabajo, el middleware y las bases de datos, junto con el diseño y la implementación de la automatización a través de la CI/CD para aumentar la productividad.

Con OpenShift puede utilizar Red Hat Advanced Cluster Management y Red Hat Ansible® Automation Platform de manera conjunta para implementar y gestionar de manera eficiente múltiples clústeres de Kubernetes en entornos de nube pública, locales o en el borde de la red.

Vea como Red Hat le puede ayudar a diseñar y automatizar entornos híbridos

 

Artículos relacionados

ARTÍCULO

Diferencias entre los contenedores y las máquinas virtuales

Las máquinas virtuales (VM) y los contenedores de Linux son entornos informáticos empaquetados que combinan varios elementos de TI y los aíslan del resto del sistema.

ARTÍCULO

¿Qué es la organización de los contenedores?

La organización en contenedores automatiza la implementación, la gestión, la escalabilidad y la conexión en red de los contenedores.

ARTÍCULO

¿Qué es un contenedor de Linux?

Un contenedor de Linux es un conjunto de procesos separados del resto del sistema, los cuales pueden ejecutarse desde una imagen diferente que proporciona todos los archivos necesarios para que funcionen.

Más información sobre los contenedores

Productos

Plataforma de aplicaciones empresariales que ofrece servicios probados para lanzar aplicaciones al mercado en la infraestructura que usted escoja.

Contenido adicional

Capacitación

Curso de capacitación gratuito

Running Containers with Red Hat Technical Overview

Curso de capacitación gratuito

Containers, Kubernetes and Red Hat OpenShift Technical Overview

Curso de capacitación gratuito

Developing Cloud-Native Applications with Microservices Architectures