Risolvi i problemi passo passo di Cloud Service Mesh
Questa sezione spiega come risolvere i problemi relativi all'utilizzo Cloud Service Mesh. Per ulteriore assistenza, consulta Assistenza.
Passaggi per la risoluzione dei problemi
Segui questi passaggi generali per risolvere i problemi di Cloud Service Mesh:
- Utilizzare gli strumenti di convalida automatica della configurazione.
- Controlla se hai un problema comune con una soluzione nota.
- Restringi l'ambito del problema.
- Esamina i log e le informazioni pertinenti.
- Raccogli log diagnostici e chiedi aiuto.
Utilizzare strumenti di convalida automatica
Cloud Service Mesh include strumenti automatizzati di diagnostica e convalida della configurazione che possono risolvere i problemi e aiutarti a evitarli in futuro. Le seguenti in queste sezioni spiegano come utilizzare questi strumenti.
istioctl analyze
Lo strumento di diagnostica istioctl analyze
è in grado di rilevare i problemi di configurazione più comuni.
Installa istioctl
utilizzando queste opzioni
istruzioni.
istioctl analyze
legge una configurazione del cluster e, se trova un problema,
fornisce messaggi informativi e suggerisce rimedi. Può essere pubblicato su una
o un insieme di file di configurazione locali. Può anche essere eseguita su una
una combinazione dei due, consentendoti di individuare i problemi prima di applicare le modifiche
in un cluster. Per ulteriori informazioni, vedi
Diagnostica la configurazione con istioctl analyze
.
Per ulteriori informazioni sugli errori rilevati da istioctl analyze
, consulta
Messaggi di analisi della configurazione.
Analizza un cluster in tempo reale
Analizza un cluster in tempo reale utilizzando questo comando.
istioctl analyze -A
Se istioctl analyze
rileva un problema con la configurazione, verrà visualizzato
un messaggio con informazioni utili per risolverlo, se noto. Per
Ad esempio, se hai commesso l'errore comune di non etichettare correttamente lo spazio dei nomi
per abilitare l'inserimento di file collaterali Istio, verrebbe generato il seguente messaggio:
Warn [IST0102] (Namespace default) The namespace is not enabled for Istio injection. Run 'kubectl label namespace default istio-injection=enabled' to enable it, or 'kubectl label namespace default istio-injection=disabled' to explicitly mark it as not needing injection
Se il problema persiste, consulta la sezione successiva per verificare se è noto.
Verificare la presenza di problemi comuni e soluzioni
Per risparmiare tempo, controlla se i sintomi corrispondono a un problema in queste situazioni sezioni di problemi e risoluzioni, raggruppate per funzionalità di Cloud Service Mesh area:
- Problemi di installazione
- Problemi relativi al piano di controllo gestito
- Problemi di osservabilità
- Problemi di deployment fuori Google Cloud
- Problemi del proxy
- Problemi relativi alle risorse
- Problemi di scalabilità
- Problemi di sicurezza
- Problemi di gestione del traffico
- Problemi relativi al 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 interagiscono tra loro, il che significa che alcuni tipi di problemi siano associati a particolari aree funzionali o componenti. Ciascuno di questi componenti genera log propri. Prima del giorno di analizzare manualmente il volume di informazioni che forniscono, restringere l'ambito della risoluzione dei problemi rispondendo alle seguenti domande:
- Il problema si verifica all'interno del piano di controllo o dei dati, ad esempio
istiod
o proxy Envoy? - In quale area funzionale hai riscontrato il problema, ad esempio Networking, Telemetria, Sicurezza e così via?
- Si è verificata una perdita di traffico a livello di mesh di servizi o in un deployment specifico?
- Il problema appare o peggiora a causa della mancanza di scalabilità del traffico nel mesh di servizi?
- Il problema causa latenza o altri problemi di prestazioni?
- Riesci a riprodurre il problema on demand?
- Il problema è iniziato dopo una recente modifica alla configurazione in Istio, GKE e così via?
- Si è verificato un aumento o un picco di traffico all'interno del mesh di servizi?
- Questo cluster ha funzionalità note abilitate o deployment non tipici?
- Noti un utilizzo elevato di CPU o memoria? Se sì, qual è l'utilizzo previsto su larga scala?
- Ci sono limitazioni di quota da prendere in considerazione?
Visualizza lo stato del piano di controllo
I seguenti comandi possono aiutarti a comprendere lo stato del piano di controllo Cloud Service Mesh:
kubectl get pods -n istio-system
kubectl describe -n istio-system
- Per tutti i pod nel sistema istio:
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
Usa i seguenti comandi per comprendere la scalabilità del deployment:
kubectl get nodes
kubectl get services --all-namespaces
kubectl get pods --all-namespaces
Esamina log e informazioni pertinenti
Dopo aver ristretto l'ambito del problema, puoi concentrarti su determinati log le informazioni in modo più efficace. Per scoprire di più sui log utilizzati da Cloud Service Mesh generati e come interpretare le informazioni che contengono, consulta Interpretazione dei log di Cloud Service Mesh.