Kubernetes (short k8s) es un software de orquestación de código abierto para implementar, administrar y escalar contenedores. Cuando las aplicaciones (microservicios) se empaquetan con sus dependencias y configuración en un contenedor, es necesaria una herramienta para administrar y escalar automáticamente los contenedores según la demanda de acceso a la aplicación. Kubernetes es la herramienta adecuada para hacerlo.

A medida que las aplicaciones crecen y se implementan en múltiples servidores, Kubernetes puede controlar cómo y dónde se ejecutarán esos contenedores. Puede escalar fácilmente su aplicación horizontalmente mientras monitorea y mantiene la salud del contenedor.

Usar Kubernetes también te ofrece la posibilidad de la portabilidad, pudiendo implementar aplicaciones en contenedores desde diferentes máquinas de desarrollo local, servicios de controles de calidad o todas las diferentes etapas existentes hasta la producción y así, podrás asegurarte de que se esté ejecutando la misma versión probada. La herramienta también tiene una amplia colección de extensiones y complementos que brinda aún más potencia.

⛓ Los mejores enlaces de Kubernetes

La historia de Kubernetes

Kubernetes comenzó en el otoño de 2013, con tres de desarrolladores: Craig McLuckie, Joe Beda y Brendan Burns trabajando e intentando descifrar sistemas de desarrollo sobre infraestructuras en la nube. Si te paras a recordar sobre el mundo de la nube 2013, era un mundo totalmente diferente a lo que es hoy.

Los scripts de bash imperativos apenas comenzaban a dar paso a la configuración declarativa de las infraestructuras como servicios dentro de los flujos de trabajo de los sistemas de las empresas. Netflix estaba popularizando la idea de una infraestructura inmutable, pero lo hacía con imágenes de máquinas virtuales completas y pesadas. La noción de orquestación, y ciertamente la orquestación de contenedores, comenzaba a existir en algunas empresas a escala de Internet, pero no estaba implementado dentro del mundo empresarial y las empresas, aún no valoraban el trabajo completo sobre la nube como una metodología válida.

Docker cambió todo eso. Al comenzar a popularizar sus contenedores livianos y proporcionando una forma simple de empaquetar, distribuir e implementar aplicaciones en una máquina.

Las herramientas y la experiencia de Docker popularizaron un nuevo enfoque nativo en la nube en el mundo del software de empaquetado y mantenimiento de aplicaciones. Si no fuera por el cambio de Docker, y el aporte de una nueva perspectiva del desarrollado en la nube, Kubernetes seguramente no habría llegado a existir.