Die Beobachtbarkeit von GKE Dataplane V2 bietet GKE Dataplane V2-Messwerte und -Statistiken zu Kubernetes-Arbeitslasten. Mit der Beobachtbarkeit von GKE Dataplane V2 ab GKE-Versionen 1.28 können Sie:
- Mit Google Cloud Managed Service for Prometheus und Cloud Monitoring mit Metrics Explorer Netzwerkmesswerte erfassen, beobachten und melden
- Informationen zu Trafficflüssen für einen bestimmten Service in einem Cluster verstehen
- Probleme mit dem Netzwerkzustand einer Kubernetes-Arbeitslast verstehen und identifizieren
- Kubernetes-Netzwerkrichtlinien prüfen
Die Beobachtbarkeit von GKE Dataplane V2 bietet die folgenden Tools zur Fehlerbehebung:
- Netzwerktopologie für Kubernetes-Cluster
- Tabelle mit Ergebnisse der Kubernetes-Netzwerkrichtlinie mit Live-Trafficflüssen und Verbindungsinformationen
- Befehlszeilentools zur Fehlerbehebung bei Kubernetes-Trafficflüssen
GKE Dataplane V2-Messwerte
GKE Dataplane V2-Messwerte stellen Informationen zum Trafficfluss für Folgendes bereit:
- Trafficflüsse: Informationen dazu, wie GKE Abläufe zwischen Pods und Diensten verarbeitet.
Erzwingung von Netzwerkrichtlinien: Informationen dazu, wie GKE Netzwerkrichtlinien durchsetzt.
Sie können GKE Dataplane V2-Messwerte verwenden, um Kubernetes-Arbeitslasten mithilfe der folgenden Tools zu überwachen und Fehler zu beheben:
- Google Cloud Managed Service for Prometheus, um Ihre GKE Dataplane V2-Messwerte aufzurufen und zu analysieren Sie können die Konfiguration von Google Cloud Managed Service for Prometheus ändern, um die Messwerte Ihrer Wahl für die Aufnahme von Google Cloud Managed Service for Prometheus hinzuzufügen oder zu entfernen.
- Cloud Monitoring-Messwert-Explorer, um Details zum Trafficfluss auf Pod-Ebene aufzurufen
- Cloud Monitoring, um beliebige Messwerte zu untersuchen und zu verwenden. Sie können beispielsweise Benachrichtigungen erstellen, die ausgelöst werden, wenn GKE Dataplane V2-Messwerte bestimmte Schwellenwerte überschreiten.
- Selbstverwaltete Grafana, um von Google Cloud Managed Service for Prometheus erfasste Messwerte zu visualisieren.
Wenn Sie Google Cloud Managed Service for Prometheus aktivieren, geschieht Folgendes:
- GKE erstellt eine
PodMonitoring
-Ressource - GKE stellt den Messwertendpunkt bereit
Damit Sie Messwerte mit Google Cloud Managed Service for Prometheus nutzen und eine PodMonitoring
-Ressource erstellen können, müssen Sie Google Cloud Managed Service for Prometheus für den Cluster aktivieren. Wenn Sie Google Cloud Managed Service for Prometheus nicht aktivieren, macht GKE den Messwertendpunkt verfügbar, erstellt aber keine PodMonitoring
-Ressource.
Wenn Sie GKE Dataplane V2-Messwerte für einen Cluster aktivieren, nimmt Google Cloud Managed Service for Prometheus die folgenden GKE Dataplane V2-Messwerte auf:
GKE Dataplane V2-Messwert | Typ | Beschreibung |
---|---|---|
prometheus.googleapis.com/pod_flow_egress_flows_count/counter
|
kumulativ | Gesamtzahl der Abläufe aus einem Pod. |
prometheus.googleapis.com/pod_flow_ingress_flows_count/counter
|
kumulativ | Gesamtzahl der Datenflüsse zu einem Pod. |
Wenn Sie GKE Dataplane V2-Messwerte aktivieren, wird der Messwertport auf jedem Kubernetes-Knoten geöffnet.
Außerdem sind zusätzliche Messwerte verfügbar, einschließlich der Open-Source-Beobachtbarkeitsplattform Hubble.
Standardmäßig nimmt Google Cloud Managed Service for Prometheus diese zusätzlichen Messwerte nicht auf. Sie können Google Cloud Managed Service for Prometheus jedoch so konfigurieren, dass sie erfasst werden. Um diese Messwerte zu erfassen, konfigurieren Sie eine benutzerdefinierte PodMonitoring
-Ressource (CR).
In der folgenden Tabelle werden zusätzliche Hubble-Messwerte beschrieben:
Hubble-Messwert | Typ | Beschreibung |
---|---|---|
hubble_flows_processed_total
|
kumulativ | Gesamtzahl der verarbeiteten Abläufe |
hubble_drop_total
|
kumulativ | Gesamtzahl der verworfenen Abläufe |
hubble_port_distribution_total
|
kumulativ | Gesamtzahl der verarbeiteten Abläufe, zusammengefasst nach Portnummer |
hubble_tcp_flags_total
|
kumulativ | Gesamtzahl der Flüsse, die mit festgelegten TCP-Flags verarbeitet wurden. |
hubble_icmp_total
|
kumulativ | Gesamtzahl der verarbeiteten ICMP-Datenflüsse |
GKE Dataplane V2-Beobachtbarkeitstools
Die Beobachtbarkeit von GKE Dataplane V2 bietet eine verwaltete Hubble-Lösung mit Beobachtbarkeit des Netzwerks und Sicherheitsinformationen für Kubernetes-Arbeitslasten, die mit GKE Dataplane V2 bereitgestellt werden.
Wenn die Funktion aktiviert ist, stellt GKE Dataplane V2 die folgenden Komponenten in Ihrem Cluster bereit:
Hubble-Relay: Ein Dienst, der von jedem Knoten Netzwerktelemetriedaten zu Ihren Pods erfasst.
Hubble-Befehlszeile: Ein Befehlszeilentool, das Live-Trafficinformationen im Cluster bereitstellt.
Sie können die folgende Komponente bereitstellen, nachdem Sie die Beobachtbarkeit von GKE Dataplane V2 für Ihren Cluster aktiviert haben:
- Hubble-UI: Ein webbasiertes Tool, mit dem Sie die von Hubble Relay erfassten Netzwerktelemetriedaten aufrufen und analysieren können. Sie müssen die Beobachtbarkeit von GKE Dataplane V2 aktivieren, um die Hubble-UI bereitzustellen.
Funktionsweise von GKE Dataplane V2-Messwerten und -Beobachtbarkeit
Die Beobachtbarkeit von GKE Dataplane V2 verwendet die folgenden Komponenten und Tools, um Messwerte zu erfassen und Einblicke in Ihren Netzwerktraffic zu erhalten:
GKE Dataplane V2: Messwerte und Beobachtbarkeit von GKE Dataplane V2 verwenden den auf eBPF basierenden GKE Dataplane V2-Datenpfad, um Messwerte über Traffic-Flüsse und die Durchsetzung von Netzwerkrichtlinien für einen Pod auf der Grundlage einer bestimmten Arbeitslast zu sammeln.
Google Cloud Managed Service for Prometheus: GKE Dataplane V2-Messwerte konfigurieren den Google Cloud Managed Service for Prometheus-Agent, um aggregierte Messwerte in Google Cloud Managed Service for Prometheus aufzunehmen, einen skalierbaren Monitoring-Lösung, die große Datenmengen aufnehmen und speichern kann, sodass Sie auch die Google Cloud Observability nutzen können.
Hubble: Die GKE Dataplane V2-Beobachtbarkeit verwendet Hubble, ein Open-Source-Projekt für die Beobachtbarkeit. Hubble ermöglicht Beobachtbarkeits- und Sicherheitsinformationen für Kubernetes-Arbeitslasten, die mit einer eBPF-Datenebene bereitgestellt werden.
Hubble-Flussereignisse treten in folgenden Fällen auf:
Zuerst wird eine Netzwerkverbindung hergestellt.
Ein TCP-Flag ist zuerst sichtbar, was den Status der TCP-Verbindung angibt.
Ein Paket wird übertragen, nachdem seit dem letzten Ablaufereignis mindestens fünf Sekunden vergangen sind.
Hubble-Messwerte: Zählen die Anzahl der Ablaufereignisse in einem Kubernetes-Cluster, mit denen Sie ermitteln können, welche Pods miteinander kommunizieren.
Messwerte und Beobachtbarkeit aktivieren: Sie können GKE Dataplane V2 und Beobachtbarkeit unabhängig aktivieren. Um die Topologie der Netzwerktopologie in der Open-Source-Hubble-UI-Feature zu aktivieren, müssen Sie die Netzwerkprüfung aktivieren.
Autopilot-Cluster:
Messwerte sind standardmäßig aktiviert.
Beobachtbarkeitstools sind standardmäßig deaktiviert.
Sie müssen die Clusterressource
PodMonitoring
erstellen, um Messwerte im Google Cloud Managed Service for Prometheus zu erfassen.
Standardcluster:
Messwerte sind standardmäßig deaktiviert.
Beobachtbarkeitstools sind standardmäßig deaktiviert.
Wenn Sie Google Cloud Managed Service for Prometheus aktiviert haben, wird automatisch eine
PodMonitoring
-Ressource erstellt.Eine
PodMonitoring
-Ressource ist als sicher vorhanden markiert. Sie können das Senden von Messwerten an Google Cloud Managed Service for Prometheus beenden, indem Sie die RessourcePodMonitoring
bearbeiten, um alle Messwerte zu deaktivieren.
GKE Dataplane V2-Beobachtbarkeitsendpunkte
GKE Dataplane V2-Beobachtbarkeitskomponenten bieten die folgenden beiden Beobachtbarkeitsendpunkte:
Messwertendpunkt::Ein HTTP-Endpunkt, der Trafficmesswerte im Prometheus-Format bereitstellt. Der
anetd
-Pod stellt den Messwertendpunkt auf jedem Clusterknoten an Port 9965 bereit.Ablaufport: Ein gRPC-Endpunkt. Der Pod
hubble-relay
stellt den Ablaufport-Endpunkt als Kubernetes-ClusterIP
-Dienst auf Port 443 bereit. Der Podhubble-relay
ist das Backend für den Kubernetes-DienstClusterIP
und alle Anfragen an den Kubernetes-DienstClusterIP
werden an den Podhubble-relay
weitergeleitet. Sie können über die Hubble-Befehlszeile oder die Hubble-Benutzeroberfläche auf den Ablaufport zugreifen.
Beschränkungen
- Die Beobachtbarkeit von GKE Dataplane V2 hat ein clusterweites Limit von 5.000 Knoten.
- Die Beobachtbarkeit von GKE Dataplane V2 funktioniert nur in Clustern mit aktiviertem GKE Dataplane V2.
- GKE Dataplane V2-Messwerte ähneln Hubble-Messwerten, da sie als ablaufbasierte Messwerte implementiert werden, um Verbindungsinformationen bereitzustellen. Diese Messwerte zählen weder die Datenmenge noch die Anzahl der übertragenen Pakete. Da die Messwerte ablaufbasiert sind, liefern sie keine genaue Darstellung der übertragenen Datenmenge.