Risolvere i problemi di Anthos Service Mesh
Questa sezione spiega come risolvere e risolvere i problemi quando si utilizza Anthos Service Mesh. Se hai bisogno di ulteriore assistenza, consulta la pagina relativa all'assistenza.
Passaggi per la risoluzione dei problemi
Segui questi passaggi generali per risolvere i problemi di Anthos Service Mesh:
- Utilizzare gli strumenti automatizzati di convalida 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 i log di diagnostica e richiedi assistenza.
Utilizzare gli strumenti di convalida automatica
Anthos Service Mesh include strumenti automatici di diagnostica e convalida della configurazione che possono risolvere i problemi e aiutarti a evitarli in futuro. Le sezioni seguenti 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
seguendo queste
istruzioni.
istioctl analyze
legge una configurazione del cluster e, se rileva un problema, fornisce messaggi informativi e suggerisce rimedi. Può essere eseguito su un cluster in tempo reale o su un set di file di configurazione locale. Può essere eseguito anche con una combinazione dei due, permettendoti di trovare problemi prima di applicare le modifiche a un cluster. Per ulteriori informazioni, consulta la pagina
Diagnosi della 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 il comando seguente.
istioctl analyze -A
Se istioctl analyze
rileva un problema di configurazione, viene visualizzato
un messaggio con informazioni utili per risolverlo, se noto. Ad esempio, se hai commesso l'errore comune di non etichettare correttamente lo spazio dei nomi per abilitare l'inserimento collaterale Istio, genererebbe 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, controlla la sezione successiva per verificare se è già noto.
Verifica la presenza di problemi e soluzioni comuni
Per risparmiare tempo, controlla se i sintomi corrispondono a un problema in queste sezioni comuni di problemi e risoluzioni, raggruppate per area funzionale di Anthos Service Mesh:
- Problemi del piano di controllo gestito
- Problemi di osservabilità
- Problemi di deployment al di fuori di Google Cloud
- 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.
Restringi l'ambito del problema
Anthos Service Mesh è costituito da diverse tecnologie che lavorano insieme, il che significa che alcuni tipi di problemi sono associati a determinate aree o componenti funzionali. Ciascuno di questi componenti genera log propri e utili. Prima di tentare di analizzare manualmente il volume delle informazioni fornite, restringi l'ambito della risoluzione dei problemi rispondendo alle seguenti domande:
- Il problema si verifica all'interno del piano di controllo o del piano dati, ad esempio
istiod
o i proxy Envoy? - In quale area funzionale hai riscontrato il problema, ad esempio networking, telemetria, sicurezza e così via?
- C'è un'ampia perdita di traffico 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?
- Puoi riprodurre il problema on demand?
- Il problema si è verificato in seguito a una recente modifica della configurazione in Istio, GKE e così via?
- C'è stato un aumento o un picco di traffico all'interno del mesh di servizi?
- Questo cluster ha funzionalità significative abilitate o deployment non tipici?
- Noti un alto utilizzo di CPU o memoria? In caso affermativo, qual è l'utilizzo previsto su larga scala?
- Esistono limitazioni di quota da prendere in considerazione?
Visualizza stato del piano di controllo
I seguenti comandi possono aiutarti a comprendere lo stato del piano di controllo di Anthos Service Mesh:
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 comandi seguenti per comprendere la portata 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 e informazioni in modo più efficace. Per informazioni sui log generati da Anthos Service Mesh e su come interpretare le informazioni che contengono, consulta la sezione Interpretare i log di Anthos Service Mesh.