Solución de problemas de una aplicación mediante AKS Desktop Insights (versión preliminar)

El escritorio de AKS incluye un conjunto de solución de problemas integrado denominado Insights, impulsada por Inspektor Gadget, una herramienta de depuración basada en eBPF de código abierto (filtro de paquetes de Berkeley extendido). Sin modificar el código ni reiniciar nada, le permite comprender el tráfico de red entre pods, realizar un seguimiento de los errores de DNS y explorar los procesos en ejecución para detectar actividades inesperadas o intensivas en recursos, todo ello a través de una interfaz de usuario intuitiva con unos pocos clics.

Este artículo le guía a través de la habilitación de Insights y su uso para diagnosticar problemas comunes de aplicaciones en el clúster de AKS.

Importante

Las características en versión preliminar de AKS están disponibles a elección del usuario y en régimen de autoservicio. Las versiones preliminares se proporcionan "tal cual" y "como están disponibles", y están excluidas de los Acuerdos de nivel de servicio y garantía limitada. Las versiones preliminares de AKS cuentan con soporte parcial por parte del servicio al cliente en la medida de lo posible. Por lo tanto, estas características no están diseñadas para su uso en producción. Para más información, consulte los siguientes artículos de soporte:

Prerequisites

  • Escritorio de AKS instalado e iniciado sesión en su clúster AKS. Consulte Configuración de un clúster de AKS para el escritorio de AKS o Implementación de aplicaciones con AKS Automatic mediante el escritorio de AKS.
  • Administrador del clúster o permisos equivalentes de Role-Based Access Control (RBAC) en el clúster de AKS de destino. La instalación de Inspektor Gadget requiere la creación de un ClusterRole, un ClusterRoleBinding y uno con privilegios DaemonSet.
  • Los nodos del clúster deben ejecutar Linux con la versión del kernel ≥ 5.4. No se admiten los grupos de nodos de Windows.
  • Si su clúster utiliza Azure Policy o OPA Gatekeeper con seguridad de pods restringida, agregue una exención para el gadget espacio de nombres para permitir pods privilegiados.
  • El clúster de destino debe ser un clúster estándar de AKS.

Habilitación de Insights en el escritorio de AKS

  1. Inicie la aplicación AKS Desktop y asegúrese de que ha iniciado sesión y se ha conectado al clúster de AKS.

  2. En el panel de navegación izquierdo, seleccione Configuración.

  3. En el menú Configuración, seleccione Complementos.

  4. Busque el complemento Insights en la lista y seleccione el botón de alternancia Habilitar .

    Captura de pantalla de la habilitación del complemento Insights en el escritorio de AKS.

Obtener acceso a Insights para el proyecto

En el panel de navegación izquierdo, seleccione el proyecto con el que desea usar Insights. La pestaña Insights ahora estará visible en la vista Proyecto.

Captura de pantalla de la pestaña Insights en el escritorio de AKS.

Desplegar Inspektor Gadget en el clúster

En la pestaña Conclusiones, se le pedirá que implemente Inspektor Gadget en el clúster si aún no está instalado.

  1. Seleccione Deploy Inspektor Gadget. AKS Desktop implementa Inspektor Gadget DaemonSet en el gadget espacio de nombres del clúster.
  2. Espere a que la implementación se complete. Un indicador de estado confirma cuando Inspektor Gadget está listo.

Visualización de datos de Insights

Una vez implementado Inspektor Gadget, la pestaña Insights se rellena con datos de observabilidad activa del clúster. Consulte Qué puede hacer con Insights para obtener el conjunto completo de funcionalidades.

Captura de pantalla de la visión general de Insights en el escritorio de AKS.

Qué puede hacer con Insights

Solución de problemas de rendimiento con procesos

En la vista Procesos se muestran todos los procesos en ejecución en los pods del clúster en tiempo real, junto con el uso de CPU, memoria y E/S de disco. Utilícelo para:

  • Identifique qué pods están consumiendo en exceso CPU o memoria.
  • Detectar actividad anómala de entrada/salida (E/S) de bloques, por ejemplo, operaciones de lectura o escritura de disco inusualmente elevadas que pueden indicar una aplicación mal configurada, un gestor de registros descontrolado o un cuello de botella de almacenamiento.
  • Detecte procesos inesperados que no se deben ejecutar en un contenedor.

Captura de pantalla de la vista Procesos de Insights en AKS desktop en la que se muestran las métricas de CPU, memoria y E/S por pod.

Visibilidad de red con el Protocolo de control de transmisión de seguimiento (TCP)

Trace TCP captura eventos de conexión TCP en directo en el nivel de kernel mediante eBPF, sin un proxy o sidecar. Utilícelo para:

  • Vea qué pods abren conexiones salientes y a qué direcciones IP y puertos de destino.
  • Detecte conexiones inesperadas o no autorizadas que podrían indicar un problema de configuración o seguridad incorrectos.
  • Correlacione anomalías de red con pods o cargas de trabajo específicas.

Captura de pantalla de la vista TCP de seguimiento de Insights en el escritorio de AKS en la que se muestran las conexiones TCP externas y de pod a pod en directo.

Note

Debe detener el seguimiento cuando termine, seleccione el botón de detención rojo en la parte superior derecha del seguimiento.

Soluciona problemas de DNS con Trazar DNS

Trace DNS captura cada consulta y respuesta de DNS realizada por los pods en tu clúster. Utilícelo para:

  • Identifique las consultas DNS que no se pueden resolver, una causa común de fallos en la conectividad de los pods a los servicios.
  • Mida la latencia de DNS para determinar si CoreDNS (el servidor DNS en clúster) o un solucionador DNS ascendente es lento.
  • Compruebe el estado de CoreDNS y si la resolución DNS externa funciona correctamente.

Captura de pantalla de la vista Trace DNS de Insights en el escritorio de AKS que muestra consultas, respuestas y latencia DNS por pod.

Note

Debe detener el seguimiento cuando termine, seleccione el botón de detención rojo en la parte superior derecha del seguimiento.

Desinstalar Inspektor Gadget

Quite Inspektor Gadget del clúster mediante la eliminación del gadget espacio de nombres. Esto quita todos los datos y funcionalidades de Insights, por lo que solo debe hacerlo cuando ya no necesite ninguna de las características de Insights.

kubectl delete ns gadget

Advertencia

Este comando quita todos los recursos del gadget espacio de nombres, no solo los creados por Inspektor Gadget.

Solución de problemas con Insights

En la tabla siguiente se describen los problemas comunes que podría surgir al usar Insights junto con sus resoluciones:

Issue Resolution
La pestaña Insights no está visible Asegúrese de que el complemento Insights está habilitado. Vaya a Configuración>Complementos y active Perspectivas.
Error en la implementación de Inspektor Gadget Compruebe que tiene permisos de RBAC suficientes para crear DaemonSets y ClusterRoles en el clúster.
No aparece ningún dato después de la implementación Confirme que los nodos de clúster ejecutan un kernel de Linux compatible (≥ 5.4). Compruebe los registros de pods de Inspektor Gadget para ver si hay errores.