Risolvere i problemi di Cloud Service Mesh passo passo
Questa sezione spiega come risolvere i problemi durante l'utilizzo di Cloud Service Mesh. Se hai bisogno di ulteriore assistenza, consulta la sezione Richiedere assistenza.
Passaggi per la risoluzione dei problemi
Segui questi passaggi generali per risolvere i problemi di Cloud Service Mesh:
- Utilizza gli strumenti di convalida della configurazione automatica.
- Verifica se hai un problema comune con una soluzione nota.
- Restringi l'ambito del problema.
- Esamina log e informazioni pertinenti.
- Raccogli i log di diagnostica e richiedi assistenza.
Lo strumento di diagnostica di Cloud Service Mesh può rilevare problemi di configurazione comuni. Installa lo strumento per la risoluzione dei problemi seguendo queste istruzioni.
Prima di iniziare
- Assicurati che il contesto kubeconfig per il tuo cluster sia disponibile nel file kubeconfig. In caso contrario, esegui il seguente comando: - gcloud container clusters get-credentials CLUSTER_NAME \ --location=CLUSTER_LOCATION --project=PROJECT_NAME- Sostituisci quanto segue: - CLUSTER_NAME: il nome del tuo cluster.
- CLUSTER_LOCATION: la zona o la regione del cluster.
- PROJECT_NAMEIl nome del progetto
 
- Verifica che siano state create le credenziali predefinite dell'applicazione. In caso contrario, esegui uno dei seguenti comandi: - gcloud auth application-default login --billing-project=PROJECT_NAME- gcloud auth application-default set-quota-project PROJECT_NAME- Sostituisci - PROJECT_NAMEcon il nome del tuo progetto.
Visualizzare lo stato del control plane
I seguenti comandi possono aiutarti a comprendere lo stato del control plane di Cloud Service Mesh:
Gestito
- Ottieni l'elenco dello stato della connessione dei client al control plane di Cloud Service Mesh: - gcloud beta container fleet mesh debug proxy-status \ --membership=MEMBERSHIP_NAME \ --location=MEMBERSHIP_LOCATION \ --project=PROJECT_NAME- Sostituisci quanto segue: - MEMBERSHIP_NAME: il nome dell'abbonamento.
- MEMBERSHIP_LOCATION: la regione del tuo abbonamento. Puoi controllare la posizione del tuo abbonamento con- gcloud container fleet memberships list --project FLEET_PROJECT_IDsostituendo- FLEET_PROJECT_IDcon l'ID progetto della flotta.
- PROJECT_NAMEIl nome del progetto
 - La tabella seguente descrive le possibili risposte. - SCONOSCIUTO - (Predefinito) Le informazioni sullo stato non sono disponibili o sono sconosciute. - SYNCED - Il control plane ha inviato la configurazione al client e ha ricevuto un ACK dal client. - ERRORE - Il control plane ha inviato la configurazione al client e ha ricevuto un NACK dal client. - STALE - Il control plane ha inviato la configurazione al client, ma non ha ricevuto un ACK o un NACK dal client. - NON INVIATO - La configurazione non è stata inviata. - N/D - Non applicabile. - Non supportata - Lo stato della sincronizzazione non è supportato dalla nostra API per la risoluzione dei problemi. 
In-cluster
- kubectl get pods -n istio-system
- kubectl describe -n istio-system
- Per tutti i pod in istio-system: kubectl logs -n istio-system -l istio --all-containers
- istioctl version
- istioctl proxy-status
- kubectl get configmap istio -o yaml && kubectl get configmap istio-sidecar-injector -o yaml
- kubectl top pods -n istio-system
Utilizza i seguenti comandi per comprendere la scalabilità del deployment:
- kubectl get nodes
- kubectl get services --all-namespaces
- kubectl get pods --all-namespaces
Visualizzare le configurazioni proxy
Il seguente comando può aiutarti a comprendere le configurazioni del proxy Cloud Service Mesh:
Gestito
gcloud beta container fleet mesh debug proxy-config POD_NAME.NAMESPACE \ 
    --type=TYPE \
    --membership=MEMBERSHIP_NAME \
    --location=MEMBERSHIP_LOCATION \
    --project=PROJECT_NAME
- POD_NAME: il nome del tuo pod.
- NAMESPACE: lo spazio dei nomi del pod.
- TYPE: Una delle seguenti opzioni:- bootstrap
- cluster
- cluster
- endpoint
- endpoint
- listener
- ascoltatori
- log
- route
- route
- secret
- secret
 
- MEMBERSHIP_NAME: il nome dell'abbonamento.
- MEMBERSHIP_LOCATION: la regione del tuo abbonamento. Puoi controllare la posizione del tuo abbonamento con- gcloud container fleet memberships list --project FLEET_PROJECT_IDsostituendo- FLEET_PROJECT_IDcon l'ID progetto della flotta.
- PROJECT_NAMEIl nome del progetto
In-cluster
Utilizza istioctl proxy-config per visualizzare le configurazioni proxy per i piani di controllo in-cluster. Per ulteriori informazioni, consulta la sezione
Eseguire il debug di Envoy e istiod.
Se il problema persiste, consulta la sezione successiva per verificare se è già noto.
Controllare problemi e soluzioni comuni
Puoi risparmiare tempo verificando se i sintomi corrispondono a un problema nelle sezioni relative a problemi e soluzioni comuni, raggruppati per area funzionale di Cloud Service Mesh:
- Problemi di installazione
- Problemi relativi al piano di controllo gestito
- Problemi di osservabilità
- Problemi di deploymentGoogle Cloud
- Problemi con il proxy
- Problemi relativi alle risorse
- Problemi di scalabilità
- Problemi di sicurezza
- Problemi di gestione del traffico
- Problemi relativi ai webhook
- Problemi relativi ai proxy sidecar
Se il problema persiste, consulta la sezione successiva.
Restringere l'ambito del problema
Cloud Service Mesh è costituito da diverse tecnologie che funzionano insieme, il che significa che determinati tipi di problemi sono associati a particolari aree funzionali o componenti. Ciascuno di questi componenti genera log utili. Prima di tentare di analizzare manualmente il volume di informazioni fornite, restringi l'ambito della risoluzione dei problemi rispondendo alle seguenti domande:
- Il problema si verifica all'interno del control plane o del data plane, ad esempio istiodo proxy Envoy?
- In quale area funzionale stai riscontrando il problema, ad esempio Networking, Telemetria, Sicurezza e così via?
- Si verifica una perdita di traffico a livello di service mesh o in un deployment specifico?
- Il problema si presenta o peggiora a causa dell'incapacità di scalare il traffico nella mesh di servizi?
- Il problema causa latenza o altri problemi di prestazioni?
- Riesci a riprodurre il problema su richiesta?
- Il problema è iniziato dopo una recente modifica alla configurazione di Istio, GKE e così via?
- Si è verificato un aumento o un picco di traffico all'interno del mesh di servizi?
- Questo cluster ha funzionalità notevoli abilitate o deployment non tipici?
- Osservi un utilizzo elevato di CPU o memoria? Se sì, qual è l'utilizzo previsto su larga scala?
- Esistono limitazioni di quota da considerare?
Esamina log e informazioni pertinenti
Dopo aver ristretto l'ambito del problema, puoi concentrarti in modo più efficace su determinati log e informazioni. Per informazioni sui log generati da Cloud Service Mesh e su come interpretare le informazioni che contengono, vedi Interpretare i log di Cloud Service Mesh.