Risolvere i problemi di networking ambientale

Questa pagina mostra come risolvere i problemi e verificare il networking ambientale 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 consoleCloud de Confiance , 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

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. null se la connessione non è TLS.

Verifica che i certificati siano stati emessi correttamente

Utilizza questo comando per controllare lo stato di CertificateSigningRequests per i pod del carico di lavoro nel 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 Cloud Observability standard, il networking ambient di Cloud Service Mesh si integra con Network Services Monitoring per fornire 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.