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, consulta Ricevere assistenza.

I problemi relativi ai limiti di risorse di Cloud Service Mesh possono essere causati da uno qualsiasi dei seguenti:

  • 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 valori troppo bassi.
  • I nodi esauriscono la memoria o altre risorse.

Possibili sintomi di problemi relativi alle risorse:

  • Cloud Service Mesh non riceve ripetutamente la configurazione dal piano di controllo indicato dall'errore, Envoy proxy NOT ready. È normale visualizzare questo errore alcune volte all'avvio, ma in caso contrario è un problema.
  • Problemi di Networking con alcuni pod o nodi che diventano irraggiungibili.
  • istioctl proxy-status che mostra gli stati STALE 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.
  • Memoria di Envoy esaurita: kubectl get pods mostra lo stato OOMKilled nell'output.

I sidecar impiegano molto tempo per ricevere la configurazione

La propagazione della configurazione può essere lenta a causa di risorse insufficienti allocate a istiod o a dimensioni eccessivamente grandi del cluster.

Esistono diverse possibili soluzioni a questo problema:

  1. Per Cloud Service Mesh nel cluster, se gli strumenti di monitoraggio (Prometheus, stackdriver e così via) mostrano l'utilizzo elevato di una risorsa per istiod, aumentano l'allocazione di quella risorsa, 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 riscontri questo problema in un cluster o in un deployment di grandi dimensioni, riduci il di stato della configurazione inviato a ogni proxy configurandolo Risorse collaterali.

  3. Per Cloud Service Mesh nel cluster, se il problema persiste, prova scalabilità orizzontale di istiod.

  4. Se tutti gli altri passaggi per la risoluzione dei problemi non risolvono il problema, segnala un bug descrivendo in dettaglio il deployment e i problemi osservati. Segui questi passaggi in modo da includere un profilo di CPU/memoria nella segnalazione di bug, se possibile, insieme a un descrizione dettagliata di dimensioni del cluster, numero di pod e numero di servizi.