Probleme mit Ambient Networking beheben

Auf dieser Seite wird beschrieben, wie Sie Probleme mit Ambient Networking in Google Kubernetes Engine (GKE) beheben und die Funktion überprüfen. Sie enthält Anleitungen zum Prüfen des Status von Ambient-Komponenten im Cluster, zum Diagnostizieren von Problemen bei der Traffic-Authentifizierung und -Autorisierung, zum Überprüfen der Zertifikatausstellung sowie zum Untersuchen von Messwerten und Logs.

Prüfen, ob Komponenten installiert sind und ordnungsgemäß funktionieren

Clusterinterne Komponenten für den Ambient-Modus von Cloud Service Mesh werden im Namespace gke-managed-ambient installiert. Mit dem folgenden Befehl können Sie den Status aller relevanten Pods aufrufen:

kubectl get pods -n gke-managed-ambient

Prüfen, ob der Traffic authentifiziert und autorisiert ist

Prüfen Sie mit dem Log-Explorer in derCloud de Confiance Console die Zugriffslogs, die den betreffenden Verbindungen entsprechen:

resource.type="k8s_container"
resource.labels.location="CLUSTER_LOCATION"
resource.labels.cluster_name="CLUSTER_NAME"
logName="projects/PROJECT_ID/logs/gke-ambient-node-proxy-accesslog"

In den Zugriffslogs werden Verbindungsdetails angezeigt, einschließlich des Authentifizierungs- und Autorisierungsstatus.

Logformat

Feld Typ Beschreibung
connection Struktur (in Code: struct) Verbindungsinformationen.
connection.src_ip String Quell-IP-Adresse der Verbindung.
connection.src_port int Quellport der Verbindung.
connection.dest_ip String Ziel-IP der Verbindung.
connection.dest_port int Zielport der Verbindung.
connection.direction String Richtung der Verbindung: {ingress, egress}
src Struktur (in Code: struct) Endpunktinformationen der Quelle.
src.spiffe_id String Die SPIFFE-Identität des Pods. Leer, wenn der Pod keine SPIFFE-Identität hat.
dst Struktur (in Code: struct) Endpunktinformationen des Ziels.
dst.spiffe_id String Die SPIFFE-Identität des Pods. Leer, wenn der Pod keine SPIFFE-Identität hat.
error_details String Details zum aufgetretenen Fehler (oder -, wenn kein Fehler aufgetreten ist).
timestamp String Zeitpunkt, zu dem die Verbindung beobachtet wurde (UTC).
tls_failure_reason String Fehlerursache für den TLS-Handshake. null, wenn die Verbindung nicht TLS-verschlüsselt ist.

Prüfen, ob Zertifikate erfolgreich ausgestellt wurden

Verwenden Sie den folgenden Befehl, um den Status von CertificateSigningRequests für Arbeitslast-Pods in Ihrem Cluster zu prüfen:

kubectl get csr

Sie sollten Bedingungen vom Typ „Genehmigt, Ausgestellt“ sehen, die in etwa so aussehen:

NAME                           AGE   SIGNERNAME                 CONDITION
gke-ambient-spiffe-csr-q8kqh   2s    spiffe.gke.io/fleet-svid   Approved,Issued
gke-ambient-spiffe-csr-t5px2   7s    spiffe.gke.io/fleet-svid   Approved,Issued

Messwerte für das Monitoring von Netzwerkdiensten

Zusätzlich zu den Standardmesswerten für Cloud Observability wird das Ambient Networking von Cloud Service Mesh in Network Services Monitoring eingebunden, um detaillierte Netzwerktelemetrie der Schicht 4 bereitzustellen.

Weitere Informationen finden Sie in der Übersicht zur Überwachung von Netzwerkdiensten und in der Referenz zu Messwerten für die Überwachung von Netzwerkdiensten.