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:
- Capturar, observar y alertar sobre las métricas de red mediante Google Cloud Managed Service para Prometheus y Cloud Monitoring con el Explorador de métricas
- Comprender los flujos de tráfico de un Service específico de un clúster
- Comprender e identificar problemas con el estado de red de una carga de trabajo de Kubernetes
- Verificar las Políticas de red de Kubernetes
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 recursoPodMonitoring
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 ServiceClusterIP
de Kubernetes en el puerto 443. El Podhubble-relay
es el backend del ServiceClusterIP
de Kubernetes y todas las solicitudes al ServiceClusterIP
de Kubernetes se reenvían al Podhubble-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?
- Configura la observabilidad de GKE Dataplane V2
- Observa tu tráfico mediante la observabilidad de GKE Dataplane V2