Creación de una arquitectura basada en eventos en Kubernetes

By Mahamed Ali, Customer Reliability Engineer, EMEA, Rackspace Technology

a man with glasses smiling

 

Un día en la vida de cualquier Racker puede variar en gran medida según su rol, pero algo universal es nuestro compromiso con el enfoque Fanatical Experience™ del cliente.

Formé parte de Rackspace Technology® por tres años a través del programa de posgrado en el Reino Unido. Trabajo diariamente con los clientes para resolver problemas altamente técnicos a fin de garantizar que trabajen de manera más eficiente en la nube y puedan escalar fácilmente.

Más allá de mi rol como Racker, soy miembro de la Cloud Native Computing Foundation (CNCF), donde soy líder del grupo de trabajo de productividad con el proyecto Knative.

Al trabajar con la Cloud Native Computing Foundation (CNCF) y explorar Knative, creé dos contribuciones sin código en torno a la capacidad de observación y el monitoreo. Luego me uní al grupo de trabajo de productividad en CNCF para supervisar la infraestructura de pruebas para el proyecto Knative, que apareció en la publicación Humans of Cloud Native de CNCF.

A principios de este año, proporcioné una breve actualización en KnativeCon/Kubecon Europe sobre mi trabajo. Ver video:

Lightning Talk: Incubación Knative CNCF: pruebas de mejoras y optimizaciones de infraestructura

 

¿Qué es Knative?

Knative es una solución empresarial de código abierto para crear aplicaciones sin servidor y basadas en eventos en Kubernetes. Consta de dos partes llamadas Serving y Eventing.

Knative Serving es impulsado por Kubernetes para admitir la implementación y el servicio de aplicaciones, y funciones como contenedores sin servidor. Serving resulta sencillo para comenzar y permite escalar para admitir escenarios avanzados.

El proyecto Knative Serving proporciona primitivas de middleware que permiten:

  • Implementación rápida de contenedores sin servidor
  • Escalado automático ascendente y descendente hasta cero
  • Enrutamiento y programación de redes
  • Instantáneas puntuales de códigos y configuraciones implementados

Knative Eventing es una colección de API que le permite utilizar una arquitectura basada en eventos con sus aplicaciones. Por ejemplo, puede usar estas API para crear componentes que dirijan eventos de los productores a los consumidores, conocidos como sink, que reciben los eventos. También se pueden configurar los sink para responder a las solicitudes de HTTP enviando un evento de respuesta.

KNative Eventing utiliza solicitudes HTTP POST estándar para enviar y recibir eventos entre productores y consumidores (sink). Estos eventos cumplen con las especificaciones de CloudEvents, que permiten crear, analizar, enviar y recibir eventos en cualquier lenguaje de programación.

Esta es una función simple sin servidor en KNative.

 

Contribuir más allá del código

El año pasado, optimicé la pila de monitoreo para KNative habilitando lo siguiente:

  • Configuración compatible con GitOps
  • Soporte del operador Prometheus. Esta es la mejor manera de implementar Prometheus en los clústeres de Kubernetes.
  • Paneles Grafana actualizados

Es muy importante poder monitorear Knative, ya que es un componente central de la infraestructura de los clústeres. Nos permitirá ver el rendimiento del número de solicitudes que se procesan en el plano de control e identificar los embotellamientos en el sistema.

Esta información estaba disponible, pero no se empaquetaba en un formato que permitiese a los administradores de clústeres implementar la pila de monitoreo y observar sus sistemas con facilidad.

Trabajar en este proyecto de código abierto me ha ayudado a superar la brecha entre la resolución de problemas y la comunicación entre múltiples equipos en varias regiones del mundo. Ese tipo de soporte me permite servir mejor a nuestros clientes, que suelen tener problemas más complejos y necesitan soluciones confiables.

 

Solving Together™

Rackspace Managed Platform para Kubernetes (MPK) proporciona un único panel para implementar y administrar clústeres en nubes públicas y privadas. Una experiencia de plataforma seleccionada que provee los servicios de infraestructura que se solicitan con frecuencia para las aplicaciones en contenedores con un alto grado de seguridad de Kubernetes.

Trabajaremos junto a usted, desde el diseño hasta la implementación de su MPK personalizado, para monitorear, alertar, actualizar y optimizar. Como resultado, usted también obtendrá una postura de seguridad sólida.

A su vez, obtendrá acceso bajo demanda a Kubernetes Pod, un equipo de soporte especializado compuesto por administradores certificados de Kubernetes con experiencia en Kubernetes, Platform9 y multi-cloud. Cada pod incluye un pequeño grupo de ingenieros certificados por CKA, un arquitecto líder y un gerente de compromiso que trabajan juntos como un equipo.

Obtenga más información sobre nuestra asociación con Platform9 para simplificar la adopción de Kubernetes.

Comenzar a resolver problemas con Kubernetes como servicio