Procedura dettagliata per la risoluzione dei problemi di Anthos Service Mesh

Questa sezione spiega come risolvere i problemi relativi all'utilizzo di Anthos Service Mesh. Se hai bisogno di ulteriore aiuto, vedi Ricevere assistenza.

Passaggi per la risoluzione dei problemi

Segui questi passaggi generali per risolvere i problemi di Anthos Service Mesh in modo più efficiente:

  1. Utilizzare gli strumenti automatici di convalida della configurazione.
  2. Verifica se esiste un problema comune con una soluzione nota.
  3. Restringi l'ambito del problema.
  4. Esamina i log e le informazioni pertinenti.
  5. Raccogli i log di diagnostica e richiedi assistenza.

kpt errore durante l'installazione

Quando installi Anthos Service Mesh utilizzando install_asm con una versione non supportata di kpt, install_asm restituisce i seguenti messaggi di errore:

    2021-07-14T15:54:58.380312 install_asm_1_9_3: Downloading ASM..
      % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                     Dload  Upload   Total   Spent    Left  Speed
    100 41.7M  100 41.7M    0     0  31.1M      0  0:00:01  0:00:01 --:--:-- 31.1M
    2021-07-14T15:54:59.777425 install_asm_1_9_3: Downloading ASM kpt package...
    2021-07-14T15:54:59.805267 install_asm_1_9_3: Running: '/usr/bin/kpt pkg get --auto-set=false https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.9-asm asm'
    2021-07-14T15:54:59.832100 install_asm_1_9_3: -------------
    error: unknown flag: --auto-set
    2021-07-14T15:54:59.907493 install_asm_1_9_3: [WARNING]: Failed, retrying...(1 of 3)
    2021-07-14T15:55:01.936275 install_asm_1_9_3: Running: '/usr/bin/kpt pkg get --auto-set=false https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.9-asm asm'
    2021-07-14T15:55:01.963543 install_asm_1_9_3: -------------
    error: unknown flag: --auto-set
    2021-07-14T15:55:02.043638 install_asm_1_9_3: [WARNING]: Failed, retrying...(2 of 3)
    2021-07-14T15:55:04.074541 install_asm_1_9_3: Running: '/usr/bin/kpt pkg get --auto-set=false https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages.git/asm@release-1.9-asm asm'
    2021-07-14T15:55:04.101990 install_asm_1_9_3: -------------
    error: unknown flag: --auto-set
    2021-07-14T15:55:04.176750 install_asm_1_9_3: [WARNING]: Failed, retrying...(3 of 3)
    

Se vedi questi errori, scarica l'ultima versione di install_asm. Lo script install_asm deve essere una delle seguenti versioni o successive:

  • Per la versione 1.8 - 1.8.6-asm.5+config1
  • Per la versione 1.9 - 1.9.6-asm.2+config1
  • Per la versione 1.10 - 1.10.2-asm.3+config1

Se scarichi anthos-service-mesh-package per installare Anthos Service Mesh utilizzando istioctl install, se hai una versione non supportata di kpt, vengono visualizzati i messaggi di errore seguenti:

    Package "asm":
    Fetching https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages@release-1.10-asm
    From https://github.com/GoogleCloudPlatform/anthos-service-mesh-packages
     * branch            release-1.10-asm -> FETCH_HEAD
    Error: Kptfile at "https:/github.com/GoogleCloudPlatform/anthos-service-mesh-packages/asm@release-1.10-asm" has an old version ("v1alpha1") of the Kptfile schema.
    Please update the package to the latest format by following https://kpt.dev/installation/migration.
    

L'installazione di Anthos Service Mesh richiede una versione precedente alla versione 1.x di kpt. È obbligatorio che la sessione shell sia impostata per utilizzare kpt versione 0.39.2. Puoi eseguire questo comando per recuperare la tua versione di kpt:

   kpt version

L'output è simile al seguente:

    0.39.2

Se vedi una versione di kpt successiva alla 1.0, consulta la sezione Configurazione dell'ambiente per scaricare la versione richiesta per il tuo sistema operativo.

Utilizzare strumenti di convalida automatica

Anthos Service Mesh include strumenti automatici di diagnostica e convalida della configurazione per risolvere i problemi e aiutarti a evitarli in futuro. Le seguenti sezioni spiegano come utilizzare questi strumenti.

istioctl analyze

Lo strumento di diagnostica di istioctl analyze è in grado di rilevare problemi di configurazione comuni. Installa istioctl utilizzando queste instructions.

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 insieme di file di configurazione locali. Può anche essere eseguito su una combinazione dei due, in modo da individuare i problemi prima di applicare le modifiche a un cluster. Per maggiori informazioni, consulta Diagnosticare la configurazione con istioctl analyze. Per ulteriori informazioni sugli errori rilevati da istioctl analyze, consulta la sezione 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 con la configurazione, mostrerà un messaggio con informazioni utili per risolverlo, se noto. Ad esempio, se commetti l'errore comune di non etichettare correttamente lo spazio dei nomi per abilitare l'inserimento di file collaterali Istio, viene 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 il problema è già noto.

Verificare la presenza di problemi comuni e soluzioni

Per risparmiare tempo, controlla se i sintomi corrispondono a un problema nelle sezioni relative a problemi e risoluzioni comuni, raggruppati per area funzionale di Anthos Service Mesh:

Se il problema persiste, consulta la sezione successiva.

Restringi l'ambito del problema

Anthos Service Mesh è costituito da diverse tecnologie che interagiscono tra loro, il che significa che determinati tipi di problemi sono associati a particolari aree o componenti funzionali. Ciascuno di questi componenti genera log utili propri. 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 piano di controllo o del piano dati, ad esempio i proxy Istiod o 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 mesh di servizi o in un deployment specifico?
  • Il problema si presenta 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 dopo una recente modifica della configurazione in Istio, GKE e così via?
  • Si è verificato un aumento o un picco di traffico all'interno del mesh di servizi?
  • In questo cluster sono abilitate funzionalità visibili o deployment non tipici?
  • Noti un utilizzo elevato di CPU o memoria? In tal caso, qual è l'utilizzo previsto su larga scala?
  • Esistono 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 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 seguenti comandi 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 limitato 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 Interpretazione dei log di Anthos Service Mesh.