Definición de

Kubernetes

Tecnología

Kubernetes permite automatizar la implementación y la gestión de aplicaciones mediante contenedores.

Kubernetes es un sistema de código abierto que permite la automatización de procesos vinculados a la puesta en marcha y la gestión de aplicaciones a través de contenedores. Se trata de una plataforma que fue desarrollada por Google y liberada en 2014.

Puede decirse que Kubernetes es un programa informático que se usa para la administración de servicios y cargas de trabajo. Hace posible concretar tareas vinculadas a la infraestructura y el almacenamiento de datos y a las redes, por ejemplo.

Historia de Kubernetes

La historia de Kubernetes comienza en Google, como ya indicamos. Craig McLuckie, Brendan Burns y Joe Beda estuvieron entre los ingenieros a cargo del desarrollo inicial, inspirado en Borg (un administrador de clústeres creado por la compañía).

Conocido en la etapa de pruebas como Project Seven, Kubernetes fue publicado con código abierto en 2014. Su lanzamiento llegó con el respaldo de una década y media de funcionamiento de los contenedores de Google ejecutando cargas de trabajo, que sumaron los aportes de la comunidad de código abierto.

Contenedores

Docker y Kubernetes suelen usarse de manera complementaria.

Su funcionamiento

Kubernetes se emplea para implementar, gestionar y escalar aplicaciones en contenedores. Lo que hace es automatizar aquellas acciones operativas que se requieren para administrar los contenedores, incorporando comandos integrados que posibilitan la implementación, la actualización y la supervisión de las aplicaciones.

De esta forma, Kubernetes se utiliza para la creación de apps que pueden implementarse en distintos sitios y cuya administración resulta simple. Muchas veces se emplea junto a Docker para la ejecución de las herramientas en contenedores.

Mientras que Docker se posiciona como un estándar para empaquetar y distribuir apps en contenedores, brindando aquello que se necesita para la ejecución de las aplicaciones en una caja que es posible guardar y abrir en cualquier momento, Kubernetes administra dichas cajas, trasladándolas y entregándolas a las ubicaciones correspondientes de una forma segura.

Kubernetes, en definitiva, apela a Docker para llevar adelante la implementación y la gestión de las aplicaciones en contenedores, permitiendo también escalarlas.

Programador

Con Kubernetes se pueden administrar cargas de trabajo y servicios.

Beneficios de Kubernetes

Kubernetes ofrece una serie de beneficios que son ampliamente reconocidos. Dado que su diseño habilita su utilización en cualquier sitio, se pueden ejecutar aplicaciones entre nubes públicas, implementaciones híbridas o implementaciones locales.

Por otra parte, la plataforma reduce los tiempos de desarrollo. Esto se debe a que permite la compilación de aplicaciones nativas de la nube y basadas en microservicios. Incluso avala la creación de contenedores de aplicaciones que ya existían, con lo cual favorece la actualización de las mismas.

Otra ventaja que brinda Kubernetes es el ajuste automático del tamaño del clúster que se requiere para la ejecución de un servicio (service).

Debe considerarse que los comandos integrados de Kubernetes contribuyen a la administración de las apps ya que propician la automatización de las operaciones cotidianas. Con su instalación, los desarrolladores no necesitan encargarse de cuestiones del entorno, sino que pueden concentrarse exclusivamente en las aplicaciones.

Kubernetes, asimismo, supervisa el estado de los servicios con verificaciones continuas. Si un contenedor se detuvo o presenta errores, lo reinicia y recién brinda los servicios cuando la ejecución de los mismos ya está confirmada.

La importancia de los contenedores

Anteriormente, el despliegue de aplicaciones requería su instalación en un servidor, usando el administrador de paquetes que formaba parte del sistema operativo. Por lo tanto, la configuración, las librerías y los ejecutables estaban interrelacionados. Era posible crear imágenes de máquina virtual, aunque con escasa portabilidad y gran peso.

Con Kubernetes se recurre a contenedores que se basan en la virtualización a nivel del sistema operativo (y no en el hardware). Hay un aislamiento entre los contenedores y respecto al servidor: ninguno ve los procesos ajenos y cada uno cuenta con sus sistemas de archivos. Es más sencillo crear un contenedor que una máquina virtual; además los contenedores pueden trasladarse sin problemas entre distintas distribuciones del sistema operativo y nubes.

Las aplicaciones, de este modo, se pueden empaquetar en una imagen de contenedor. En su creación hay una mayor agilidad y más eficiencia.

La exhibición de la salud de la app es otra ventaja de los contenedores. Es importante subrayar, asimismo, que el funcionamiento de la app es idéntico en la nube o en un equipo.

Las apps, al dividirse en elementos independientes, pueden administrarse y desplegarse de manera dinámica. Los contenedores, con sus imágenes, logran desacoplar la app de la infraestructura, con lo cual se separan los trabajos de Dev (desarrollo) y Ops (operaciones).

Desventajas de Kubernetes

Más allá de los beneficios, los especialistas advierten sobre algunas desventajas de Kubernetes, así como varias dificultades asociadas a su uso. Se indica, por ejemplo, que el mantenimiento del entorno presenta complejidades a nivel operativo. Se demandan actualizaciones y ajustes periódicos para garantizar la fiabilidad y la eficiencia.

Por otra parte, el costo de infraestructura puede ser elevado debido a las demandas del clúster. La gestión de éste, por otro lado, exige un conocimiento avanzado de sus componentes y principalmente de su arquitectura.

¿Te sirvió este artículo?

Cómo citar este artículo Julián Pérez PortoPublicado por Julián Pérez Porto, el 6 de enero de 2025. Kubernetes - Qué es, historia, beneficios, importancia, ventajas y desventajas. Disponible en https://definicion.de/kubernetes/
Buscar otra definición
x