Acerca de la observabilidad de GKE Dataplane V2


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

La observabilidad de GKE Dataplane V2 ofrece las siguientes herramientas de solución de problemas:

  • Una topología de red de clúster de Kubernetes
  • Una tabla de veredictos de política de red de Kubernetes con flujos de tráfico en vivo 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 de flujo de tráfico para lo siguiente:

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

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

  • Google Cloud Managed Service para Prometheus a fin de ver y analizar las métricas de GKE Dataplane V2. Puedes modificar la configuración de Google Cloud Managed Service para Prometheus a fin de agregar o quitar las métricas de tu elección para la transferencia de 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 excedan ciertos umbrales.
  • Grafana autoadministrado a fin de visualizar métricas recopiladas por Google Cloud Managed Service para Prometheus.

Cuando habilitas Google Cloud Managed Service para Prometheus:

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

Si deseas 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 expone el extremo de métricas, pero no crea un recurso PodMonitoring.

Cuando habilitas las métricas de GKE Dataplane V2 para un clúster, Google Cloud Managed Service para Prometheus transfiere 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 Cantidad total de flujos desde un Pod.
prometheus.googleapis.com/pod_flow_ingress_flows_count/counter acumulativo Cantidad total de flujos a un Pod.

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

También hay métricas adicionales disponibles, incluida la plataforma de observabilidad de código abierto Hubble. De forma predeterminada, Google Cloud Managed Service para Prometheus no transfiere estas métricas adicionales, pero puedes configurar Google Cloud Managed Service para Prometheus a fin de recopilarlas. Para recopilar estas métricas, configura un recurso personalizado (CR) PodMonitoring.

En la siguiente tabla, se describen las métricas adicionales de Hubble:

Métrica de Hubble Tipo Descripción
hubble_flows_processed_total acumulativo Cantidad total de flujos procesados.
hubble_drop_total acumulativo Cantidad total de flujos descartados.
hubble_port_distribution_total acumulativo Cantidad total de flujos procesados por número de puerto.
hubble_tcp_flags_total acumulativo Cantidad total de flujos procesados con determinadas marcas de TCP configuradas.
hubble_icmp_total acumulativo Cantidad total de flujos de ICMP procesados.

Herramientas de observabilidad de GKE Dataplane V2

La observabilidad de GKE Dataplane V2 proporciona una solución administrada de Hubble con observabilidad de la red y estadísticas de seguridad para las cargas de trabajo de Kubernetes implementadas con GKE Dataplane V2.

Cuando se habilita, la observabilidad de GKE Dataplane V2 implementa los siguientes componentes en tu clúster:

  • Retransmisión de Hubble: Un servicio que recopila datos de telemetría de red de tus Pods de cada nodo.

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

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

  • IU de Hubble: Una herramienta basada en la Web que puedes usar para ver y analizar los datos de telemetría de red que recopila Hubble Relay. Debes habilitar la observabilidad de GKE Dataplane V2 para implementar la IU de Hubble.

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 recopilar métricas y proporcionar estadísticas sobre el tráfico de 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 recopilar métricas sobre los flujos de tráfico y la aplicación de la política de red para un Pod en función de un carga de trabajo determinada.

  • Google Cloud Managed Service para Prometheus: Las métricas de GKE Dataplane V2 configuran el agente de Google Cloud Managed Service para Prometheus para transferir métricas agregadas a Google Cloud Managed Service para Prometheus, una solución escalable de supervisión que puede transferir y almacenar grandes cantidades de datos que también te permiten aprovechar Google Cloud Observability.

  • Hubble: La observabilidad de GKE Dataplane V2 usa Hubble, un proyecto de observabilidad de código abierto. Hubble permite la observabilidad de la red y las estadísticas de seguridad para las cargas de trabajo de Kubernetes implementadas con un Dataplane de eBPF.

    Los eventos de flujos de Hubble se producen cuando ocurre lo siguiente:

    • Se establece primero una conexión de red

    • Primero se ve una marca de TCP, que indica el estado de la conexión TCP

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

    Métricas de Hubble: Cuenta la cantidad de eventos de flujo en un clúster de Kubernetes que puedes usar para identificar qué Pods se comunican entre sí.

  • Habilita métricas y observabilidad: Puedes habilitar GKE Dataplane V2 y la observabilidad independientes entre sí. Para habilitar la visualización de la Topología de red en la función de IU de código abierto de Hubble, 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 PodMonitoring del clúster a fin de recopilar 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 Google Cloud Managed Service para Prometheus habilitado, se crea de forma automática un recurso PodMonitoring.

    • Un recurso PodMonitoring se marcó como garantizar que exista. Puedes detener el envío de métricas a Google Cloud Managed Service para Prometheus si editas el recurso PodMonitoring a fin de inhabilitar todas las métricas.

Extremos de observabilidad de GKE Dataplane V2

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

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

  • Puerto de flujos: un extremo de gRPC. El Pod de hubble-relay expone el extremo del puerto de flujos como un Service ClusterIP de Kubernetes en el puerto 443. El Pod hubble-relay es el backend del Service ClusterIP de Kubernetes y todas las solicitudes al Service ClusterIP de Kubernetes se reenvían al Pod hubble-relay. Puedes acceder al puerto del flujo con la CLI de Hubble o la IU de Hubble.

Limitaciones

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

¿Qué sigue?