Blog
Kubernetes: quinto capítulo de la guía DevOps
Hoy día, el número de aplicaciones desplegadas en contenedores en sistemas de producción supera a aquellas que no lo están, y las predicciones al respecto es que esta diferencia siga aumentando en favor del uso de contenedores. Esto es así debido a las ya conocidas ventajas que ofrece la contenerización, como por ejemplo la portabilidad, la eficiencia, agilidad y facilidad de despliegue, etc.
El problema que ha surgido a raíz de esto es que, a medida que el número de contenedores desplegados aumenta y en los diferentes entornos preproductivos y productivos, hace que gestionarlos de forma manual sea una tarea casi imposible y con una gran tendencia a cometer errores. Por este motivo, han surgido diferentes herramientas de orquestación de contenedores con el objetivo de facilitar estos procesos.
Kubernetes o K8s es hoy día la plataforma más utilizada para la orquestación de contenedores. Fue originalmente desarrollada por Google para poder gestionar sistemas distribuidos complejos sin perder la ventaja de seguir usando contenedores y fue declarada de código abierto en 2014, favoreciendo un rápido y amplio desarrollo por una gran comunidad muy activa.
K8s permite colocar un grupo de contenedores relacionados en la misma máquina. Esto permite reducir la sobrecarga de red y aumentar la eficiencia del uso de recursos. Además, K8s ofrece de manera nativa funcionalidades como descubrimiento de servicios (service discovery), balanceo de carga dentro del cluster que gestiona, automatización del despliegue de nuevas versiones de nuestras aplicaciones sin perder disponibilidad de la misma (rollout), así como la posibilidad de recuperar versiones anteriores de la misma forma (rollover), recuperación de contenedores fallidos, escalado (scaling) y autoescalado (autoscaling) en función del uso de recursos, etc.
Sin embargo, es conveniente tener en cuenta que el “negocio” de K8s es precisamente la complejidad, y gestionar la complejidad hace que a su vez sea una plataforma compleja y con una curva de aprendizaje pronunciada. Es importante tener esto en cuenta a la hora de elegir K8s o cualquier otro tipo de gestor de contenedores, ya que “para recoger patatas no hace falta un Ferrari”.
En este nuevo capítulo de la Guía DevOps vamos a hablar sobre esta increíble plataforma, para comprender su funcionamiento de forma teórica y práctica. De este modo, cuando finalices este módulo, tendrás los fundamentos necesarios para desplegar tus aplicaciones en un clúster de Kubernetes.