Información sobre la observabilidad de GKE Dataplane V2

La observabilidad de GKE Dataplane V2 proporciona métricas y estadísticas de GKE Dataplane V2 sobre las cargas de trabajo de los clústeres de GKE en Google Cloud. Con la observabilidad de GKE Dataplane V2, a partir de las versiones 1.28 de GKE o posteriores, puedes hacer lo siguiente:

La observabilidad de GKE Dataplane V2 ofrece las siguientes herramientas para solucionar problemas:

  • Una topología de red de un clúster de Kubernetes
  • Una tabla de veredictos de la política de red de Kubernetes con flujos de tráfico activos e información de conexión
  • Herramientas de línea de comandos para solucionar problemas de flujos de tráfico de Kubernetes

Métricas de GKE Dataplane V2

Las métricas de GKE Dataplane V2 proporcionan información sobre el flujo de tráfico de los siguientes elementos:

  • Flujos de tráfico: estadísticas sobre cómo gestiona GKE los flujos entre pods y servicios.
  • Aplicación de la política de red: información sobre cómo aplica GKE las políticas de red de Kubernetes.

Puedes usar las métricas de Dataplane V2 de GKE para monitorizar y solucionar problemas de cargas de trabajo de Kubernetes con las siguientes herramientas:

  • Google Cloud Managed Service para Prometheus para ver y analizar las métricas de Dataplane V2 de GKE. Puedes modificar la configuración de Google Cloud Managed Service para Prometheus para añadir o quitar las métricas que quieras ingerir en Google Cloud Managed Service para Prometheus.
  • Explorador de métricas de Cloud Monitoring para ver los detalles del flujo de tráfico a nivel de pod.
  • Cloud Monitoring para explorar y usar cualquier métrica. Por ejemplo, puedes crear alertas que se activen cuando las métricas de GKE Dataplane V2 superen determinados umbrales.
  • Grafana autogestionado para visualizar las métricas recogidas por Google Cloud Managed Service para Prometheus.

Cuando habilitas Google Cloud Managed Service para Prometheus, ocurre lo siguiente:

  • GKE crea un recurso PodMonitoring
  • GKE expone el endpoint de métricas

Para consumir métricas con Google Cloud Managed Service para Prometheus y poder crear un recurso PodMonitoring, debes habilitar Google Cloud Managed Service para Prometheus en el clúster. Si no habilitas Google Cloud Managed Service para Prometheus, GKE expondrá el endpoint de métricas, pero no creará un recurso PodMonitoring.

Cuando habilitas las métricas de GKE Dataplane V2 en un clúster, Google Cloud Managed Service para Prometheus ingiere las siguientes métricas de GKE Dataplane V2:

Métrica de GKE Dataplane V2 Tipo Descripción
prometheus.googleapis.com/pod_flow_egress_flows_count/counter acumulativo Número total de flujos de un pod.
prometheus.googleapis.com/pod_flow_ingress_flows_count/counter acumulativo Número total de flujos a un pod.

Al habilitar las métricas de GKE Dataplane V2, se abre el puerto de métricas en cada nodo de Kubernetes.

También hay otras métricas disponibles, como las de la plataforma de observabilidad de código abierto Hubble. De forma predeterminada, Google Cloud Managed Service para Prometheus no ingiere estas métricas adicionales, pero puedes configurarlo para que las recoja. Para recoger estas métricas, configure un recurso personalizado (CR) PodMonitoring.

En la siguiente tabla se describen otras métricas de Hubble:

Métrica de Hubble Tipo Descripción
hubble_flows_processed_total acumulativo Número total de flujos procesados.
hubble_drop_total acumulativo Número total de flujos descartados.
hubble_port_distribution_total acumulativo Número total de flujos procesados, agregado por número de puerto.
hubble_tcp_flags_total acumulativo Número total de flujos procesados con las marcas TCP especificadas.
hubble_icmp_total acumulativo Número total de flujos ICMP procesados.

Herramientas de observabilidad de GKE Dataplane V2

La observabilidad de GKE Dataplane V2 proporciona una solución de Hubble gestionada con observabilidad de red e información valiosa sobre la seguridad de las cargas de trabajo de Kubernetes implementadas con GKE Dataplane V2.

Cuando está habilitada, la observabilidad de GKE Dataplane V2 implementa los siguientes componentes en tu clúster:

  • Hubble Relay: un servicio que recoge datos de telemetría de red sobre tus pods de cada nodo.

  • CLI de Hubble: una herramienta de interfaz de línea de comandos que proporciona información sobre el tráfico en tiempo real dentro del clúster.

Puedes desplegar el siguiente componente después de habilitar la observabilidad de GKE Dataplane V2 en tu clúster:

  • Interfaz de usuario de Hubble: herramienta basada en la Web que puedes usar para ver y analizar los datos de telemetría de red que recoge Hubble Relay. Para desplegar la interfaz de Hubble, debes habilitar la observabilidad de GKE Dataplane V2.

Cómo funcionan las métricas y la observabilidad de GKE Dataplane V2

La observabilidad de GKE Dataplane V2 usa los siguientes componentes y herramientas para recoger métricas y proporcionar información valiosa sobre el tráfico de tu red:

  • GKE Dataplane V2: las métricas y la observabilidad de GKE Dataplane V2 usan la ruta de datos de GKE Dataplane V2 basada en eBPF para recoger métricas sobre los flujos de tráfico y la aplicación de políticas de red de un pod en función de una carga de trabajo determinada.

  • Google Cloud Managed Service para Prometheus: GKE Dataplane V2 configura el agente de Google Cloud Managed Service para Prometheus para ingerir métricas agregadas en Google Cloud Managed Service para Prometheus, una solución de monitorización escalable que puede ingerir y almacenar grandes cantidades de datos y que también te permite desarrollar Google Cloud Observability.

  • Hubble: la observabilidad de GKE Dataplane V2 usa Hubble, un proyecto de observabilidad de código abierto. Hubble permite obtener información valiosa sobre la seguridad y la observabilidad de la red de las cargas de trabajo de Kubernetes desplegadas con un plano de datos eBPF.

    Los eventos de flujo de Hubble se producen cuando:

    • Primero se establece una conexión de red

    • Se ve por primera vez una marca TCP, que indica el estado de la conexión TCP.

    • Un paquete se transmite después de que hayan transcurrido al menos cinco segundos desde el último evento de flujo.

    Métricas de Hubble: contabiliza el número de eventos de flujo de un clúster de Kubernetes, que puede usar para identificar qué pods se comunican entre sí.

  • Habilitar métricas y observabilidad: puedes habilitar GKE Dataplane V2 y la observabilidad de forma independiente. Para habilitar la visualización de la topología de red en la función de interfaz de usuario de Hubble de código abierto, debes habilitar la inspección de red.

  • Clústeres de Autopilot:

    • Las métricas están habilitadas de forma predeterminada

    • Las herramientas de observabilidad están inhabilitadas de forma predeterminada

    • Debes crear el recurso ClusterPodMonitoring para recoger métricas en Google Cloud Managed Service para Prometheus.

  • Clústeres estándar:

    • Las métricas están inhabilitadas de forma predeterminada

    • Las herramientas de observabilidad están inhabilitadas de forma predeterminada

    • Si tienes habilitado Google Cloud Managed Service para Prometheus, se crea automáticamente un recurso PodMonitoring.

    • Un recurso PodMonitoring se marca como ensure exists. Para dejar de enviar métricas a Google Cloud Managed Service para Prometheus, edita el recurso PodMonitoring para inhabilitar todas las métricas.

Endpoints de observabilidad de GKE Dataplane V2

Los componentes de observabilidad de GKE Dataplane V2 exponen los dos endpoints de observabilidad siguientes:

  • Endpoint de métricas: un endpoint HTTP que expone métricas de tráfico en formato Prometheus. El anetd pod expone el endpoint de métricas en cada nodo del clúster en el puerto 9965.

  • Puerto de flujos: un endpoint de gRPC. El hubble-relay pod expone el endpoint del puerto de flujos como un ClusterIP servicio de Kubernetes en el puerto 443. El hubble-relaypod es el backend del servicio ClusterIP de Kubernetes y todas las solicitudes al servicio ClusterIP de Kubernetes se reenvían al hubble-relaypod. Puedes acceder al puerto de flujo mediante la CLI de Hubble o la interfaz de usuario de Hubble.

Limitaciones

  • La observabilidad de GKE Dataplane V2 tiene un límite de 5000 nodos en todo el clúster.
  • Las métricas y la observabilidad de GKE Dataplane V2 solo funcionan en clústeres con GKE Dataplane V2 habilitado.Google Cloud
  • Las métricas de Dataplane V2 de GKE son similares a las métricas de Hubble, ya que se implementan como métricas basadas en flujos para proporcionar información de conexión. Estas métricas no contabilizan la cantidad de datos ni el número de paquetes transmitidos. Dado que las métricas se basan en el flujo, no proporcionan una representación precisa de la cantidad de datos transmitidos en un flujo de red.

Siguientes pasos