Resumen
Un pod de Kubernetes es un conjunto de uno o varios contenedores de Linux® y constituye la unidad más pequeña de las aplicaciones de Kubernetes. Puede estar compuesto por un solo contenedor, en un caso de uso común, o por varios con conexión directa, en un caso de uso avanzado. Los contenedores se agrupan en pods para aumentar la eficiencia del uso compartido de los recursos, como se describe a continuación.
Dentro del sistema de Kubernetes, los contenedores que se encuentran en el mismo pod comparten los recursos informáticos. Los recursos se agrupan en Kubernetes y forman clústeres, los cuales pueden ofrecer un sistema con más potencia y una distribución inteligente para ejecutar las aplicaciones. Puede que al principio sea difícil entender los elementos de Kubernetes, como los contenedores, los pods, los nodos y los clústeres, pero a continuación presentamos los que son fundamentales para comprender sus beneficios:
Unidades de hardware
Nodo: la unidad más pequeña del hardware informático de Kubernetes. Se le puede considerar una máquina individual.
Clúster: la colección de nodos que se agrupan para ofrecer un uso compartido y un equilibrio inteligentes de los recursos.
Unidades de software
Contenedor de Linux: el conjunto de uno o más procesos que incluye todos los archivos necesarios para su ejecución, por lo que se pueden trasladar de una máquina a otra.
Pod de Kubernetes: la colección de uno o más contenedores de Linux, los cuales se empaquetan juntos para aprovechar al máximo los beneficios del uso compartido de los recursos a través de la gestión de clústeres.
Básicamente, el nodo representa al sistema de hardware individual en Kubernetes. Los nodos se agrupan en clústeres y permiten distribuir la capacidad informática según se necesite. En estos clústeres, se ejecutan los pods, lo cual garantiza que los contenedores con conexión directa que están dentro de ellos funcionen juntos en el mismo clúster.
¿Para qué utiliza los pods Kubernetes?
Debido a la relación entre los pods y los clústeres, Kubernetes no ejecuta los contenedores directamente, sino que ejecuta los pods y se asegura de que cada contenedor dentro de ellos comparta los mismos recursos y red local. Al agruparse de esta manera, los contenedores pueden comunicarse entre sí como si estuvieran en el mismo sistema de hardware, a pesar de mantener cierto grado de aislamiento.
La organización en pods es la base de una de las funciones más conocidas de Kubernetes: la replicación. De esta manera, Kubernetes utiliza los controladores de replicación para ampliar las aplicaciones agregando nodos según se necesite. Esto significa que si se sobrecarga un pod, Kubernetes puede replicarlo e implementarlo en el clúster de manera automática. Además de garantizar el buen funcionamiento en los momentos de mayor carga, los replica constantemente para que el sistema resista los fallos.
Open Technology Sessions en español
Explora esta serie de webinars on-demand y descubre cómo impulsar la innovación tecnológica en tu organización. ¡Aprende más sobre automatización, infraestructura, plataforma de aplicaciones, cloud services y mucho más!
¿Qué son los patrones de Kubernetes?
Una de las principales ventajas del sistema de Kubernetes es que permite aprovechar al máximo los beneficios de los elementos reutilizables, como los pods. Descubrir los mejores usos para Kubernetes en los entornos de producción puede llevar años de prueba y error, y la mayoría de las empresas no tiene ese tiempo en una era en la que las aplicaciones nativas de la nube se implementan rápidamente.
Sin embargo, dado que Kubernetes se basa en los estándares abiertos, surgieron patrones para el éxito (y el fracaso) gracias a las pruebas y los errores de quienes fueron los primeros en adoptarla. Los patrones ofrecen diseños que las empresas pueden replicar para agilizar los primeros pasos en la adopción de la plataforma.
En el ebook Patrones de Kubernetes: Elementos reutilizables para diseñar aplicaciones nativas de la nube, presentado por los autores Bilgin Ibryam y Roland Huß y proporcionado por O'Reilly, se presentan en detalle los elementos, los patrones, los principios y las prácticas reutilizables y comunes para diseñar e implementar aplicaciones nativas de la nube en Kubernetes.