Risoluzione dei problemi relativi ai limiti di risorse in Cloud Service Mesh

Questa sezione illustra i problemi comuni di Cloud Service Mesh e come risolverli. Se hai bisogno di ulteriore assistenza, vedi Ricevere assistenza.

I problemi relativi al limite di risorse di Cloud Service Mesh possono essere causati da uno dei seguenti fattori:

  • Oggetti LimitRange creati nello spazio dei nomi istio-system o in qualsiasi spazio dei nomi con l'iniezione automatica di sidecar abilitata.
  • Limiti definiti dall'utente impostati su un valore troppo basso.
  • I nodi esauriscono la memoria o altre risorse.

Possibili sintomi di problemi relativi alle risorse:

  • Cloud Service Mesh non riceve ripetutamente la configurazione da istiod, come indicato dall'errore Envoy proxy NOT ready. Questo errore più volte viene visualizzato all'avvio normale, ma per il resto è un problema.
  • Problemi di Networking con alcuni pod o nodi che diventano irraggiungibili.
  • istioctl proxy-status mostra STALE stati nell'output.
  • OOMKilled messaggi nei log di un nodo.
  • Utilizzo della memoria da parte dei container: kubectl top pod POD_NAME --containers.
  • Memoria utilizzata dai pod all'interno di un nodo: kubectl top node my-node.
  • Envoy out of memory: kubectl get pods shows status OOMKilled in the output.

La ricezione della configurazione da parte dei file collaterali di Istio richiede molto tempo

Può verificarsi una propagazione lenta della configurazione a causa di risorse allocate insufficienti a istiod o a una dimensione del cluster troppo grande.

Esistono diverse possibili soluzioni a questo problema:

  1. Se i tuoi strumenti di monitoraggio (prometheus, stackdriver e così via) mostrano un valore di una risorsa del istiod, aumentarne l'allocazione, Ad esempio, aumenta il limite di CPU o memoria del deployment istiod. Si tratta di una soluzione temporanea e ti consigliamo di esaminare i metodi per ridurre il consumo di risorse.

  2. Se si verifica questo problema in un cluster o in un deployment di grandi dimensioni, riduci la quantità di stato della configurazione inviato a ogni proxy configurando Risorse collaterali.

  3. Se il problema persiste, prova a eseguire la scalatura orizzontale istiod.

  4. Se tutti gli altri passaggi per la risoluzione dei problemi non risolvono il problema, segnala un bug. nei dettagli del deployment e dei problemi osservati. Segui questi passaggi per includere, se possibile, un profilo CPU/memoria nella segnalazione di bug, insieme a una descrizione dettagliata delle dimensioni del cluster, del numero di pod, del numero di servizi e così via.