¿Qué es un clúster de Kubernetes?

Autor

Sai Vennam

Technical Offering Manager

Clústeres de Kubernetes definidos

Un clúster de Kubernetes es un conjunto de nodos informáticos (máquinas virtuales o físicas) que ejecutan aplicaciones en contenedores gestionadas con la plataforma de orquestación de contenedores de Kubernetes.

La nube ofrece numerosos beneficios a la empresa, como flexibilidad, agilidad, portabilidad y control de costes. Sin embargo, con estos beneficios viene la complejidad de gestionar la nube y entregar las aplicaciones que en ella residen. Kubernetes es una plataforma de orquestación de contenedores que puede ayudar a aliviar esas complejidades.

Los clústeres proporcionan la base arquitectónica de Kubernetes. Piense en los clústeres como bloques de construcción que permiten una entrega rápida y controlada de aplicaciones en la nube. Un clúster de Kubernetes es un conjunto de máquinas conectadas que funcionan juntas como una sola unidad. Se componen de nodos de trabajo, que representan un host de procesamiento en el que se pueden implementar, ejecutar y gestionar aplicaciones en contenedores. Los nodos trabajadores son gestionados por nodos maestros, que programan contenedores en los nodos trabajadores eligiendo dónde implementarlos en función de la capacidad disponible y la configuración definida por el usuario.

Los scripts especifican la configuración del contenedor y qué recursos se necesitan para ejecutar la aplicación, como almacenamiento persistente, servicios, etc. En Kubernetes, los pods son las unidades desplegables más pequeñas de un clúster y agrupan contenedores que deben tratarse como una sola unidad. Kubernetes crea pods para alojar instancias de aplicación. Los pods contienen uno o más contenedores de aplicaciones y comparten recursos, como el almacenamiento o la información de red.

Las últimas novedades sobre tecnología, respaldadas por conocimientos de expertos

Manténgase al día sobre las tendencias más importantes e intrigantes del sector en materia de IA, automatización, datos y mucho más con el boletín Think. Consulte la Declaración de privacidad de IBM.

¡Gracias! Se ha suscrito.

Su suscripción se enviará en inglés. Encontrará un enlace para darse de baja en cada boletín. Puede gestionar sus suscripciones o darse de baja aquí. Consulte nuestra Declaración de privacidad de IBM para obtener más información.

La evolución hacia la orquestación de Kubernetes

La llegada de los contenedores ayudó a simplificar la computación en la nube. Los contenedores empaquetan el código y todas sus dependencias, lo que permite que una pila de software se ejecute independientemente del entorno en el que se encuentre. Aunque los contenedores ofrecen paquetes discretos, también complican las cuestiones de gestión. El desafío consistía en encontrar la manera de hacer que estos paquetes eficientes y ligeros funcionaran juntos. La orquestación fue la siguiente evolución en la simplificación de entornos multinube.

Para obtener más información sobre la contenerización, consulte nuestro vídeo "Explicación de la contenerización".

Para obtener más información sobre la orquestación de contenedores, consulte nuestro vídeo "Explicación de la orquestación de contenedores" (enlace externo a ibm.com).

Kubernetes proporciona una plataforma de código abierto para gestionar cargas de trabajo en contenedores y microservicios (enlace externo a ibm.com). Esto permite a los desarrolladores superar las diferencias entre los proveedores de servicios en la nube aplicando estándares y coherencia en todos los ámbitos para las aplicaciones basadas en contenedores. La plataforma se centra en los contenedores y organiza el almacenamiento, las redes y la computación al servicio de las cargas de trabajo de los usuarios.

Con Kubernetes, los usuarios pueden centrarse en la funcionalidad que desean de sus aplicaciones en la nube en lugar de crear capacidades específicas de la plataforma. La arquitectura Kubernetes subyacente es lo que impulsa esa capacidad.

Para ver más de cerca las capacidades de orquestación de contenedores de Kubernetes, consulte "Kubernetes vs. Docker: no es una cuestión de uno u otro":

 

Arquitectura de clúster de Kubernetes

Los clústeres de Kubernetes son los componentes básicos de Kubernetes y proporcionan la base arquitectónica de la plataforma. La modularidad de esta estructura de bloques permite disponibilidad, escalabilidad y facilidad de implementación.

Las cargas de trabajo actuales exigen una alta disponibilidad tanto a nivel de aplicación como de infraestructura. Al crear una capa de abstracción entre las aplicaciones y su infraestructura subyacente, Kubernetes distribuye la carga de trabajo de manera eficiente entre los recursos disponibles. Kubernetes se protege contra los fallos de las aplicaciones con comprobaciones constantes del estado de los nodos y contenedores. Si un contenedor deja de funcionar, la autorreparación y la replicación resuelven el error. Los equilibradores de carga integrados distribuyen la carga de trabajo entre los recursos abiertos para disminuir el impacto de los picos de tráfico o las interrupciones.

Este mismo uso eficiente de los recursos juega un papel en la escalabilidad. La adición y eliminación de nuevos servidores se simplifica, lo que permite un escalado horizontal sin fisuras. El escalado automatizado aumenta el número de contenedores en funcionamiento según métricas especificadas. Los controles de replicación terminan el exceso de pods si hay demasiados en ejecución o inician los pods si hay muy pocos.

Para profundizar en la arquitectura de Kubernetes, consulte el siguiente vídeo: "Explicación de Kubernetes":

Vea el vídeo

La velocidad es esencial para los desarrolladores. Kubernetes está diseñado para adaptarse a la rápida creación, prueba y lanzamiento de software. Las versiones nuevas o actualizadas se propagan mediante despliegue automatizado. También funciona bien con versiones canary, permitiendo que las implementaciones de nuevas versiones se ejecuten en paralelo a las versiones anteriores, verifiquen la dependabilidad de la nueva versión antes de pasarla a producción completa.

Monitorización de clústeres de Kubernetes a través de Prometheus

A medida que las aplicaciones contenedoras se vuelven más granulares e independientes, la monitorización se convierte en un desafío. Ese desafío se extiende a la monitorización de clústeres de Kubernetes. La monitorización tradicional indica si un programa, servicio o herramienta está activo (en ejecución) o inactivo (no se está ejecutando). Para los microservicios, el enfoque de arriba/abajo es demasiado estricto, ya que un microservicio de una sola función podría estar abajo sin causar un impacto en el negocio. Las herramientas de monitorización modernas deben ofrecer distinciones más refinadas e integrarse mejor con diversas plataformas y aplicaciones mutables.

Prometheus —una herramienta de registro, monitorización y alertas de código abierto— está diseñada para la portabilidad y la mutabilidad de los entornos multinube y supera las limitaciones de monitorización tradicionales. Deriva métricas exhaustivas de los clústeres, los nodos y las implementaciones de Kubernetes. Prometheus utiliza pares clave-valor, que funcionan bien con la forma en que Kubernetes organiza los metadatos. Prometheus raspa y descubre automáticamente los objetivos de datos con regularidad, lo que lo convierte en una buena opción para cargas de trabajo efímeras.

IBM Cloud

Red Hat OpenShift AI en IBM Cloud: Implemente cargas de trabajo de IA

Utilice las capacidades de IA con Red Hat OpenShift on IBM Cloud. Este vídeo explora cómo crear, implementar y gestionar cargas de trabajo de IA de manera eficiente con una plataforma escalable de operaciones de machine learning.

Soluciones relacionadas
IBM Red Hat OpenShift

Red Hat OpenShift on IBM Cloud es una plataforma de contenedores OpenShift (OCP) totalmente gestionada.

Descubra Red Hat OpenShift
Soluciones de contenedores

Las soluciones de contenedores ejecutan y amplían cargas de trabajo en contenedores con seguridad, innovación de código abierto e implementación rápida.

Explore los contenedores
Servicios de consultoría en la nube 

Desbloquee nuevas capacidades e impulse la agilidad empresarial con los servicios de consultoría de nube de IBM. Descubra cómo cocrear soluciones, acelerar la transformación digital y optimizar el rendimiento mediante estrategias de nube híbrida y colaboraciones con expertos.

Servicio en la nube
Dé el siguiente paso

Comience con una plataforma Red Hat OpenShift totalmente gestionada o explore la flexibilidad del ecosistema IBM Cloud Kubernetes. Acelere su proceso de desarrollo e implementación con soluciones escalables y seguras adaptadas a sus necesidades.

Descubra Red Hat OpenShift Explore Kubernetes