BLOG | NGINX

Cómo mejorar la visibilidad en Kubernetes

NGINX - Parte de F5 - horizontal, negro, tipo RGB
Miniatura de Jenn Gile
Jenn Gile
Publicado el 8 de marzo de 2021

Editor : Esta publicación es parte de una serie de 10 partes:

  1. Reduzca la complejidad con Kubernetes de nivel de producción
  2. Cómo mejorar la resiliencia en Kubernetes con la gestión avanzada del tráfico
  3. Cómo mejorar la visibilidad en Kubernetes (esta publicación)
  4. Seis formas de proteger Kubernetes mediante herramientas de gestión del tráfico
  5. Guía para elegir un controlador de entrada, parte 1: Identifique sus requisitos
  6. Guía para elegir un controlador de entrada, parte 2: Riesgos y preparación para el futuro
  7. Guía para elegir un controlador de entrada, parte 3: Código abierto vs. Predeterminado vs. Comercial
  8. Guía para elegir un controlador de entrada, parte 4: Opciones del controlador de ingreso NGINX
  9. Cómo elegir una malla de servicios
  10. Pruebas de rendimiento de controladores de ingreso NGINX en un entorno dinámico de nube de Kubernetes

También puede descargar el conjunto completo de blogs como un libro electrónico gratuito: Cómo llevar Kubernetes de la prueba a la producción .
La adopción de microservicios acelera las experiencias digitales, pero las arquitecturas de microservicios también pueden hacer que esas experiencias sean más frágiles. Mientras sus desarrolladores trabajan a toda velocidad para sacar nuevas aplicaciones al mercado, su arquitectura puede ponerlo en mayor riesgo de interrupciones, exposiciones de seguridad y tiempo perdido en resolución de problemas ineficientes o en arreglar problemas evitables. En este segundo blog de nuestra serie sobre Kubernetes de nivel de producción, examinamos cómo los componentes que brindan visibilidad del tráfico pueden reducir la complejidad y mejorar la seguridad en sus entornos de microservicios.

Ganar visibilidad para lograr conocimiento

Primero, veamos un par de definiciones:

  • Visibilidad – El estado de poder ver o ser visto
  • Perspicacia: una comprensión profunda de una persona o cosa

En una encuesta de 2020 de StackRox , el 75 % de los usuarios de Kubernetes identificaron la visibilidad como una capacidad “imprescindible”. Estamos de acuerdo en que la visibilidad es clave en Kubernetes, ya que puede ser especialmente difícil saber qué está implementado. Y, sin embargo, el 95 % de los encuestados en el informe State of Aplicação Strategy (SOAS) 2021 de F5 informaron que, si bien disponen de una gran cantidad de datos, les faltan conocimientos sobre el rendimiento, la seguridad y la disponibilidad de las aplicaciones que necesitan para proteger y desarrollar su infraestructura y su negocio. Entonces, ¿por qué es importante la introspección y cómo obtenerla?

Con conocimiento, usted puede:

  • Fortalecer la seguridad y el cumplimiento detectando vulnerabilidades y posibles vectores de ataque
  • Reduzca las interrupciones y el tiempo de inactividad al descubrir los problemas antes que sus clientes.
  • Mejore la eficiencia de la resolución de problemas al encontrar la causa raíz de los problemas de la aplicación.
  • Confirme que su tráfico se dirija únicamente a donde usted desea.
  • Sepa exactamente qué se está ejecutando en sus entornos de Kubernetes y si está configurado y protegido correctamente
  • Descubra si está utilizando la cantidad correcta de recursos en función de la latencia y el historial de rendimiento.
  • Predecir las necesidades estacionales basándose en patrones de tráfico anteriores
  • Medir el rendimiento en términos de tiempo de respuesta para realizar un seguimiento del rendimiento en relación con los acuerdos de nivel de servicio (SLA) y servir como un sistema de alerta temprana antes de que los problemas afecten la experiencia del usuario.

Para obtener información, necesita dos tipos de datos de visibilidad: en tiempo real e históricos. Los datos en tiempo real permiten diagnosticar el origen de un problema que está ocurriendo en este momento, mientras que los datos históricos brindan una perspectiva de lo que es “normal” frente a lo que es un valor atípico. Combinados, estos dos tipos de fuentes de visibilidad pueden proporcionar información crucial sobre el rendimiento de la aplicación y de Kubernetes.

Al igual que con otras inversiones en tecnología, también necesita una estrategia sobre cómo aprovechar los beneficios. El informe de SOAS también indica que las personas no logran obtener información valiosa debido a factores organizacionales relacionados con la contratación y el desarrollo de los empleados, la estrategia y los procesos, y el consenso sobre para qué se deben utilizar los datos, cuándo y quién los debe utilizar. Estos hallazgos incluyen:

  • Habilidades relacionadas : no es ningún secreto que hay una escasez de profesionales tecnológicos capacitados, como lo confirma el 47 % de los encuestados que informan que tienen dificultades para encontrar el talento que necesitan.
  • Iniciativas de intercambio de datos : solo el 12 % de los encuestados tienen procesos y estrategias establecidos para informar los datos a los tomadores de decisiones comerciales para que tomen conciencia de los impactos comerciales de la tecnología resiliente (o la falta de ella).
  • El propósito de la visibilidad : la mayoría de los encuestados utilizan la telemetría de forma reactiva (es decir, para solucionar problemas), mientras que solo el 24 % de los encuestados utiliza datos y conocimientos de forma proactiva para detectar posibles degradaciones del rendimiento y el 16 % para realizar un seguimiento del rendimiento del SLA.

El resto de esta publicación se centra en los aspectos técnicos del insight. Esté atento a futuros blogs sobre estrategia, procesos y otros temas.

Cómo puede ayudar NGINX

Sabemos que la mayoría de las implementaciones de Kubernetes ya utilizan una herramienta de monitoreo y no necesitan otra más. Por eso, hemos instrumentado la API NGINX Plus para facilitar la exportación de métricas y brindar integraciones con herramientas populares como OpenTracing , Grafana y Prometheus , para que pueda obtener una imagen completa del rendimiento dentro de sus clústeres. Obtendrá información específica sobre el rendimiento y la disponibilidad de las aplicaciones con seguimientos profundos para que pueda comprender cómo se procesan las solicitudes en sus aplicaciones de microservicios.

  • Información sobre el tráfico de entrada y salida (norte-sur)
    El controlador de ingreso NGINX proporciona información sobre el tráfico que ingresa y sale de sus clústeres de Kubernetes.

    ¿Sabías que hay tres controladores Ingress populares basados en NGINX? No todos están listos para producción, y la elección incorrecta podría terminar complicando en lugar de mejorar su estrategia de microservicios. Nuestra publicación de blog «Espera, ¿qué controlador de ingreso NGINX para Kubernetes estoy usando?» ofrece una comparación de las opciones para que puedas tomar la mejor decisión según tus necesidades.

  • Una visión del tráfico este-oeste
    NGINX Service Mesh proporciona información sobre el tráfico que fluye entre aplicaciones en contenedores.

Continúe leyendo para descubrir cómo podemos ayudarle con dos problemas comunes:

Si está listo para ver la tecnología en acción, consulte esta demostración de transmisión en vivo y AMA con expertos de NGINX y Grafana. Los verá demostrar cómo obtener monitoreo en vivo de métricas clave de rendimiento y equilibrio de carga, exportar las métricas a Prometheus y crear paneles de Grafana para tener una vista del rendimiento acumulativo.

Problema: Mi aplicación es lenta (¡o no funciona!)

¿Sospechas de un ataque DDoS? ¿Los usuarios informan errores de su sitio web? No puedes empezar a resolver el problema hasta que descubras exactamente dónde está.

  • Monitoreo en vivo con el controlador de ingreso NGINX
    Con NGINX Plus, el panel de monitoreo de actividad en vivo , impulsado por la API NGINX Plus , muestra cientos de métricas clave de carga y rendimiento. Obtenga detalles finos hasta el nivel de un solo pod para que pueda medir rápida y fácilmente los tiempos de respuesta de las aplicaciones y diagnosticar el origen de un problema. Si su entorno de Kubernetes crece, obtendrá automáticamente paneles para cada instancia adicional de NGINX Ingress Controller.

    A modo de ejemplo, dos columnas en la pestaña HTTP Upstreams le brindan una lectura instantánea del estado de la aplicação y la infraestructura:

    • Solicitudes : si la cantidad de solicitudes por segundo ( Req/s ) está por debajo de lo normal para la aplicação dada (por ejemplo, 5 solicitudes por segundo cuando 40 es normal), el controlador de ingreso o la aplicação podrían estar mal configurados.
    • Tiempo de respuesta : si los tiempos de respuesta son de 10 milisegundos (ms) o menos, estás en excelente forma. Una latencia superior a 30–40 ms es una señal de problemas con sus aplicações ascendentes.

  • Estado del stub para el controlador de ingreso NGINX
    Con NGINX Open Source, NGINX Ingress Controller incluye una página de estado que informa ocho métricas básicas.
  • OpenTracing con NGINX Service Mesh
    NGINX Service Mesh admite OpenTracing con el módulo NGINX OpenTracing . Al momento de escribir este artículo, el módulo es compatible con Datadog, LightStep, Jaeger y Zipkin.

Problema: Mi clúster o plataforma se está quedando sin recursos

¿Tienes errores HTTP? 50340incógnita Los errores indican que hay un problema con sus recursos, mientras que 502s significa que un cambio de configuración no funcionó. Utilice datos históricos para diagnosticar dónde podría estar quedándose sin recursos.

  • Registro con el controlador de ingreso NGINX
    El primer paso para diagnosticar problemas de red es consultar los registros del controlador de ingreso NGINX , en los que cada entrada del registro está anotada con el servicio de Kubernetes correspondiente. Las entradas sobre errores identifican el servicio asociado. Los registros incluyen información detallada sobre todo el tráfico que ha pasado por el controlador de ingreso, incluida una marca de tiempo, una dirección IP de origen y un código de estado de respuesta. También puede exportar registros a agregadores populares como Datadog, Grafana y Splunk.
  • Métricas de Prometeo
    Una de las características más populares del controlador de ingreso NGINX es su lista en constante expansión de métricas Prometheus , que incluyen métricas sobre el rendimiento de la red y el tráfico del controlador de ingreso. Con NGINX Plus, el controlador de ingreso de NGINX exporta métricas sobre conexiones, almacenamiento en caché, tráfico HTTP y TCP/UDP manejado por grupos de trabajadores NGINX que comparten datos en una zona de memoria , tráfico HTTP y TCP/UDP manejado por grupos de servidores back-end , y más.

    NGINX Service Mesh implementa un servidor Prometheus que utiliza la API NGINX Plus para extraer métricas de los sidecars de NGINX Service Mesh y los pods de NGINX Ingress Controller. Si prefiere utilizar una implementación de Prometheus existente, también proporcionamos configuraciones de raspado para agregar a su archivo de configuración de Prometheus.

  • Paneles de control de Grafana
    Proporcionamos paneles oficiales de Grafana para NGINX Ingress Controller y NGINX Service Mesh que visualizan las métricas expuestas por Prometheus Exporter. Los usuarios valoran la granularidad de los datos, que incluye detalles hasta el milisegundo, superposiciones diarias y picos de tráfico. Por ejemplo, el panel de control de NGINX Service Mesh puede indicar que sus pods están al máximo de su capacidad mostrando la cantidad de tráfico en cualquier servicio o pod y la cantidad de pods activos que se monitorean.

Preparación para la producción con NGINX

El controlador de ingreso NGINX listo para producción (basado en NGINX Plus) está disponible para una prueba gratuita de 30 días que incluye NGINX App Protect para proteger sus aplicaciones en contenedores. El servicio Mesh NGINX, siempre gratuito, está disponible para descargar en f5.com .


"Esta publicación de blog puede hacer referencia a productos que ya no están disponibles o que ya no reciben soporte. Para obtener la información más actualizada sobre los productos y soluciones F5 NGINX disponibles, explore nuestra familia de productos NGINX . NGINX ahora es parte de F5. Todos los enlaces anteriores de NGINX.com redirigirán a contenido similar de NGINX en F5.com.