Risolvere i problemi di networking ambientale

Questa pagina mostra come risolvere i problemi e verificare l'Ambient Networking di Google Kubernetes Engine (GKE). Fornisce istruzioni per controllare l'integrità dei componenti ambientali nel cluster, diagnosticare i problemi di autenticazione e autorizzazione del traffico, verificare l'emissione dei certificati e ispezionare metriche e log.

Verifica che i componenti siano installati e integri

I componenti in-cluster per la modalità Ambient di Cloud Service Mesh sono installati nello spazio dei nomi gke-managed-ambient. Puoi visualizzare lo stato di tutti i pod pertinenti con il seguente comando:

kubectl get pods -n gke-managed-ambient

Verifica che il traffico sia autenticato e autorizzato

Utilizzando Esplora log nella consoleGoogle Cloud , controlla i log di accesso corrispondenti alle connessioni di interesse:

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"

I log di accesso mostrano i dettagli della connessione, inclusi lo stato di autenticazione e autorizzazione.

Formato log

I seguenti campi sono presenti in jsonPayload della voce di log degli accessi:

Campo Tipo Descrizione
connection struct Informazioni sulla connessione.
connection.src_ip string IP di origine della connessione.
connection.src_port int Porta di origine della connessione.
connection.dest_ip string IP di destinazione della connessione.
connection.dest_port int Porta di destinazione della connessione.
connection.direction string Direzione della connessione: {ingress, egress}
src struct Informazioni sull'endpoint dell'origine.
src.spiffe_id string L'identità SPIFFE del pod. Vuoto se il pod non ha un'identità SPIFFE.
dst struct Informazioni sull'endpoint della destinazione.
dst.spiffe_id string L'identità SPIFFE del pod. Vuoto se il pod non ha un'identità SPIFFE.
error_details string Dettagli sull'errore che si è verificato (o - se non si è verificato alcun errore).
timestamp string Ora in cui è stata osservata la connessione (UTC).
tls_failure_reason string Motivo dell'errore di handshake TLS. - se la connessione non è TLS.

Verifica che i certificati siano stati emessi correttamente

Utilizza il seguente comando per controllare lo stato di CertificateSigningRequests per i pod dei workload nel tuo cluster:

kubectl get csr

Dovresti visualizzare condizioni "Approvato,emesso" simili alle seguenti:

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

Metriche di monitoraggio dei servizi di rete

Oltre alle metriche standard di Cloud Observability, Ambient Networking di Cloud Service Mesh si integra con Network Services Monitoring per fornire una telemetria di rete di livello 4 dettagliata.

Per saperne di più, consulta la panoramica del monitoraggio dei servizi di rete e il riferimento alle metriche di monitoraggio dei servizi di rete.