OpenStack es una plataforma potente y flexible para construir nubes privadas y públicas, pero también puede ser compleja de gestionar, especialmente en lo que respecta a las redes y la observabilidad. En esta publicación, exploraremos cómo se está utilizando eBPF para potenciar OpenStack, proporcionando mejoras significativas en el rendimiento, las redes y el rastreo.
El Desafío: Redes y Observabilidad en OpenStack
Las redes tradicionales en entornos virtualizados a menudo dependen de redes superpuestas, que pueden introducir una sobrecarga de rendimiento debido a la encapsulación. Del mismo modo, obtener una visibilidad profunda del comportamiento de los muchos microservicios de OpenStack puede ser un desafío con las herramientas de monitoreo tradicionales.
Aquí es donde entra en juego eBPF. Al ejecutar programas en un sandbox directamente en el kernel de Linux, eBPF puede proporcionar un nivel de rendimiento y visibilidad que es difícil de lograr con otros métodos.
Redes Aceleradas con eBPF y XDP
Una de las aplicaciones más emocionantes de eBPF en OpenStack se encuentra en el área de las redes. eBPF, combinado con XDP (eXpress Data Path), se puede utilizar para crear un plano de datos de alto rendimiento que puede acelerar significativamente el tráfico de red.
Por ejemplo, una prueba de concepto de Luis Tomás demuestra cómo usar eBPF/XDP para acelerar el enrutamiento BGP en un entorno de OpenStack. Al reemplazar las tradicionales ip rules y ip routes con un programa eBPF, el tráfico se puede redirigir a la superposición OVN a nivel del kernel, o incluso se puede descargar a la tarjeta de red para obtener el máximo rendimiento.
Este enfoque puede conducir a:
- Latencia reducida: Al omitir partes de la pila de redes del kernel.
- Mayor rendimiento: Al procesar paquetes de manera más eficiente.
- Menor utilización de la CPU: Al descargar el trabajo de la CPU principal.
Proyectos como Cilium y Calico, que se pueden utilizar como complementos de red para OpenStack, también aprovechan eBPF para proporcionar un plano de datos de alto rendimiento. Cuando se ejecutan en bare metal, estas soluciones pueden eliminar el problema de la “doble encapsulación” que se encuentra en muchos entornos virtualizados, lo que conduce a ganancias de rendimiento aún mayores.
Análisis y Rastreo en el Kernel
eBPF no es solo para redes. También es una herramienta poderosa para el análisis y el rastreo en el kernel, que se puede utilizar para mejorar la seguridad y la observabilidad de las nubes de OpenStack.
Una presentación de la Cumbre de OpenStack en Vancouver 2023 mostró cómo se puede usar eBPF para crear perfiles de seguridad de los servicios de OpenStack como Nova, Neutron y Keystone. Al monitorear las llamadas a la API y el acceso al sistema de archivos a nivel del kernel, es posible detectar anomalías y posibles amenazas de seguridad, como ataques de fuerza bruta o inyección de SQL, с alta precisión.
Este profundo nivel de visibilidad también se puede utilizar para:
- Solución de problemas de rendimiento: Identificación de cuellos de botella y regresiones de rendimiento en los servicios de OpenStack.
- Contabilidad de recursos: Obtención de información detallada sobre el uso de recursos por parte de diferentes inquilinos y servicios.
- Cumplimiento y auditoría: Creación de un registro de auditoría detallado de toda la actividad en la nube.
Primeros Pasos con eBPF en OpenStack
Si estás interesado en explorar los beneficios de eBPF en tu propio entorno de OpenStack, aquí tienes algunos recursos para empezar:
- Calico para OpenStack: La documentación de Calico proporciona instrucciones detalladas sobre cómo implementar Calico con OpenStack, incluidos los requisitos para usar el plano de datos de eBPF.
- Cilium: Aunque no es un proyecto exclusivo de OpenStack, las potentes funciones de red y seguridad basadas en eBPF de Cilium se pueden integrar con OpenStack.
- eBPF.io: El sitio web oficial de eBPF es el mejor lugar para aprender más sobre eBPF y encontrar una gran cantidad de recursos, incluidos tutoriales, documentación y una lista de proyectos relacionados.
A medida que las comunidades de OpenStack y eBPF continúan colaborando, podemos esperar ver usos aún más emocionantes e innovadores de esta poderosa tecnología en el futuro.

Comentarios