KubeCon 2023: Una mirada hacia el futuro de Kubernetes

Lucas Calvo

Cloud Engineer

Javier Pérez

Practice Lead for MLOps

Ángel Maroco

Enterprise Architect

Como es costumbre en Bluetab, desde hace ya varios años asistimos a la KubeCon + CloudNative Europa 2023 celebrada en Amsterdam, el evento tecnológico líder a nivel mundial en referencia a Kubernetes, Cloud Native y tendencias DevOps.

Durante esta conferencia, que reúne a miles de desarrolladores, ingenieros y expertos en tecnología de todo el mundo, hemos tenido la oportunidad de adquirir ideas innovadoras para nuestro trabajo. 

Además, pudimos presenciar casos de uso reales de las principales empresas a nivel mundial, lo que nos permitió adentrarnos en los desafíos complejos que enfrentan las grandes organizaciones en la actualidad.

En este artículo, nos proponemos explorar algunas de las tendencias y temas clave que captaron nuestra atención durante este destacado evento. 

El año pasado nos despedimos de la KubeCon 2022 de Valencia descubriendo las capacidades que convertían al Gateway API como un API oficial, graduado de incubación a beta, simplificando el modelo de service networking en Kubernetes, incluyendo nuevos objetos como GatewayClass, Gateway, HTTPRoute, TCPRoute, etc. 

El Gateway API es un proyecto mantenido por el SIG de Networking, en continua evolución, y este año empezamos la KubeCon 2023, esta vez en Amsterdam, justo donde lo dejamos el año pasado, con las novedades que nos trae este grupo de trabajo sobre la evolución del Gateway API, graduado de Beta a GA, incluyendo las capacidades de Multi-Cluster Services.  

Sin lugar a dudas, uno de los temas principales en los últimos días ha sido cómo se pueden desplegar aplicaciones en plataformas Multi-Cluster, mejorando la disponibilidad y reduciendo la latencia. Hace un tiempo, la sincronización de clusters era una tarea complicada, que podría llegar a requerir cierto trabajo manual dependiendo del entorno en que trabajemos.

Afortunadamente, mediante la evolución de las APIs de Kubernetes, podemos simplificar este problema con el Gateway API haciendo uso de los servicios de Multi-Cluster, habilitando la gestión avanzada del routing entre diferentes clusters. 

Este caso de uso nos permite abordar situaciones donde tenemos una falla catastrófica, como la pérdida de una región o zona de computación, en la cual están localizadas las máquinas que ejecutan nuestras aplicaciones, ofreciendo una conmutación instantánea del tráfico de un cluster a otro. 

Si, por ejemplo, tenemos una sistema ejecutando para USA y Europa a la vez, podemos elegir a dónde redirigir la carga de trabajo: de forma local a los orígenes de tráfico, minimizando la latencia, y usar la otra región del mundo para ser resilientes.

La unión de varias APIs de Kubernetes no abre nuevas oportunidades para lograr nuestros objetivos, aunque todavía estamos en los primeros pasos de estos proyectos, os animamos a que os pongáis al día con alguna de sus implementaciones[1].

En la edición del año pasado vimos como uno de los principales temas de interés fue la orquestación de cargas de trabajo mediante técnica de Advanced Scheduling. Trabajar en el ámbito big data es siempre un reto, pero si añadimos kubernetes, se abre la oportunidad de emplear otros paradigmas que coordinan pods para realizar trabajos individuales.

Si tradicionalmente nos encontramos ante falta de recursos como principal fuente de problemas, en kubernetes también se pueden generar problemas de inanición debido al scheduler original, sin olvidar cómo gestionar el sistema de shuffle de datos entre los ejecutores de las aplicaciones. 

Uno de los puntos más relevantes y críticos es la parte de monitorización y observabilidad. Buena parte de las ponencias giran en torno a estos dos ámbitos debido a la necesidad de las organizaciones de conocer en tiempo real el estado del cluster, servicios y despliegues.

También este año, con la explosión de las plataformas multi-cluster llega un nuevo reto, monitorizar y centralizar todas las métricas de tus distintos clusters para mantener la integridad de tu arquitectura. Para esto vienen viejos conocidos como Prometheus, Grafana, Thanos, Cortex, etc. para resolver esta problemática. 

Además, cada vez se hace más énfasis en la monitorización y alertado defensivo, es decir, como usar tus herramientas para saber cuándo, cómo y dónde estás recibiendo algún ataque en tu plataforma, ya sea un ataque DDoS, ataques por inyección de SQL o hasta analizar el consumo de tus propios pods por si hubiera algún consumo elevado que pudiera ser por un posible crypto-mining.

Para esto cada vez la monitorización va más de la mano de la analítica de datos y analítica avanzada para buscar patrones en las métricas de tu plataforma y poder evitar cualquier tipo de fallo o incidencia.

La unión de Monitorización y Seguridad no solo se percibe en la evolución de los proyectos del CNCF, sino también en cómo afecta a las organizaciones. Este año destaca cómo las organizaciones comienzan a adoptar un modelo de gestión donde un equipo dedicado  acumula cada vez más tareas, como revisar el control de acceso de los usuarios,  gestionar la asignación de las políticas de seguridad, revisar el rendimiento de la infraestructura de datos u otras tareas según la organización.

No queríamos terminar la experiencia sin hablar de la nueva tecnología que está oculta actualmente en varios proyectos de la CNCF: “extended Berkeley Packet Filter” (eBPF)[2].

El origen de esta tecnología recae en el grupo de trabajo de tcpdump, donde se desarrolló para analizar el tráfico de red sin impactar en el rendimiento de las aplicaciones. Sin embargo, se ha visto claramente extendido su uso en términos de seguridad y monitorización. 

A modo resumen, eBPF permite ejecutar un código de usuario a nivel de kernel-space, teniendo acceso a las estructuras de memoria sin restricciones. Esto se realiza mediante unos hook que tiene programados el propio kernel de linux para habilitar el punto de entrada de la función.

eBPF requiere un kernel moderno, puesto que es una tecnología en incubación, siendo incluso posible que un mismo programa no llegue a funcionar entre diferentes sistemas operativos debido a las modificaciones que está realizando del propio kernel, aún con ello os animamos a explorar su utilidad. 

Conclusiones

  • La KubeCon 2023 ha sido una experiencia enriquecedora. Compartir ideas y conocimientos con otros expertos del ámbito de contenedores y cloud native nos permite debatir nuevas visiones y confirmar que Bluetab está trabajando en la línea correcta. Como siempre, las sesiones son de gran utilidad y abarcan las nuevas características y funcionalidades que podemos esperar en los próximos meses para Kubernetes.
  • Kubernetes continúa manteniendo su posición como la plataforma líder en el campo de la orquestación de contenedores. Sin embargo, también es importante reconocer que su adopción por parte de las organizaciones no está exenta de desafíos. Si bien se han logrado significativos avances en áreas como la construcción de imágenes, la integración continua y la implementación continua (CI/CD), el despliegue automatizado con infraestructura como código y el almacenamiento distribuido, aún persisten retos críticos en el ámbito de la seguridad que requieren atención.
  • La escalabilidad sigue siendo una de las principales preocupaciones para las organizaciones. En esta KubeCon 2023 se han presentado nuevas soluciones y mejores prácticas que están ayudando a abordar la gestión de los clusters de forma efectiva y sostenible entre los que destaca los servicios de Multi-Cluster para Networking y Observability.
  • El apartado de inteligencia artificial y analítica avanzada ha quedado relegado a un segundo plano en esta conferencia, incluso siendo el año donde más se está hablando de LLM, y su llamativo uso intenso de recursos de cómputo. A destacar entre las pocas charlas que hubo de este tema las centradas en la parte de Kubeflow y MLOps y sobre todo la última charla del viernes donde se trataban temas de HPC[3] y daban ciertas pinceladas sobre el uso de Flux[4] y Flux Operator[5] y la creación de mini cluster para aprovechar al máximo las capacidades de Kubernetes.

Referencias

Lucas Calvo

Cloud Engineer

Javier Pérez

Practice Lead for MLOps

Ángel Maroco

Enterprise Architect

¿Quieres saber más de lo que ofrecemos y ver otros casos de éxito?