Kubernetes explicado de forma sencilla: contenedores, pods e imágenes | Programar Plus

Si se desconecta cada vez que alguien menciona “Kubernetes”, “contenedores” o “pods”, este artículo es para usted. ¡Sin diagramas complejos involucrados!

Como desarrollador front-end, no es necesario que sepa cómo configurar una infraestructura desde cero. Sin embargo, si tiene un conocimiento básico de cómo funciona, puede implementar y revertir sus aplicaciones de manera más independiente y, al mismo tiempo, estar más informado durante las conversaciones sobre este tema.

Empecemos por buscar en la web qué es Kubernetes.

Kubernetes es un sistema de orquestación de contenedores de código abierto para automatizar la implementación, el escalado y la administración de aplicaciones informáticas.

—Wikipedia

Bien, pero ¿qué es un contenedor?

En pocas palabras, un envase es como una computadora virtual que puede crear, usar, destruir y reiniciar de forma remota.

Ahora imagine que esta computadora está realmente en una nube, ejecutándose junto con miles de otras computadoras virtuales. Y todo esto se ejecuta en una computadora real que es increíblemente poderosa. Su computadora ahora es un contenedor en la nube.

Una nube ilustrada con cinco computadoras, cada una etiquetada como

Pero espere, ¿cómo creará y controlará esta computadora virtual? ¿Cómo se comunicará con otras computadoras en la misma nube? ¿Y cómo se comunicará con el mundo? Parece que necesitas una forma de organizar todo esto. De ahí: nuestro maestro, Kubernetes (o K8 para abreviar)!

Una nube con cinco computadoras con la etiqueta

Es posible que también hayas escuchado el término vainas. ¿Cuáles son esos y dónde encajan aquí? Bueno, en pocas palabras, las vainas son grupos de uno o más contenedores. Son la unidad desplegable más pequeña de los K8, como un átomo.

Imagina que estás construyendo un sitio web de WordPress y necesitas una computadora que ejecute PHP y una base de datos MySQL. Ejecutar ambos en la misma computadora puede ser demasiado pesado; en su lugar, podría crear un contenedor para PHP, uno para MySQL, y K8s ayudará a que se comuniquen.

Luego, agruparías estos dos contenedores en un pod, que representa la aplicación completa. Eso significa que ahora puede iniciar y eliminar una aplicación completa a través de pods.

Nube con un círculo en su interior con la etiqueta

Sin embargo, es probable que no cree un solo pod para implementar una aplicación en producción; hay más que no necesitamos cubrir en este momento, pero puede leer más sobre los pods en la documentación de K8s.

Ahora es un buen momento para preguntar: ¿qué sucede cuando implementa una aplicación en esta configuración?

K8s crea un nuevo módulo, redirige el tráfico hacia él y, cuando está seguro de que todo funciona, elimina el módulo anterior. Una vez más, participan más entidades para controlar y redirigir las solicitudes, pero hoy lo dejamos fuera.

Sin embargo, a veces la implementación rompe algo y tenemos que revertir nuestra aplicación a la versión anterior. Imagina que todo está en llamas, y tenemos que iniciar todas esas computadoras desde cero: instalar Linux, Node, Git, clonar el repositorio, instalar dependencias, construir la aplicación … ¡eso llevaría una eternidad! Si solo hubiera una forma más rápida, como tomar una instantánea del pasado para restaurar rápidamente todo a …

Unidad flash USB con la etiqueta

Ingresar: imagenes! Probablemente también hayas escuchado mucho este término. Una imagen es como una copia de seguridad de un contenedor con todo ya instalado y configurado. Se genera una nueva imagen con su Integración continua (abreviatura> CI) cada vez que empuja a la rama principal de su repositorio, y luego se replica en nuevos contenedores cuando se crean.

¿Y para qué sirven? Bueno, principalmente dos cosas: la primera es restaurar la imagen anterior rápidamente, como nuestro ejemplo anterior. Pero también son útiles cuando su sitio web tiene mucho tráfico y solo una computadora no podrá manejarlo.

Cuando tiene una imagen, puede crear tantos contenedores idénticos como desee y replicar esa imagen en todos ellos, sirviendo exactamente el mismo contenido.

Cuatro computadoras, todas igualmente etiquetadas como

¡Todo listo! Acabamos de cubrir los conceptos básicos sobre cómo funciona la infraestructura de una aplicación y ahora, con suerte, puede extrapolar a cualquier herramienta que esté utilizando su proyecto.

Muchas gracias a Eduardo Shiota por permitirme explicar esto!

(Visited 6 times, 1 visits today)