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 la sezione Ricevere assistenza.

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

  • LimitRange oggetti creati nello spazio dei nomi istio-system o in qualsiasi spazio dei nomi con l'inserimento automatico del file collaterale abilitato.
  • Limiti definiti dall'utente impostati su un valore troppo basso.
  • I nodi esauriscono la memoria o altre risorse.

Potenziali sintomi di problemi relativi alle risorse:

  • Cloud Service Mesh non riceve ripetutamente la configurazione da istiod, come indicato dall'errore Envoy proxy NOT ready. È normale visualizzare questo errore alcune volte all'avvio, ma in caso contrario è un problema.
  • Problemi di rete 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 per i 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 Istio richiedono 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. Se gli strumenti di monitoraggio (Prometheus, Stackdriver e così via) mostrano un elevato utilizzo di una risorsa da parte di istiod, aumenta l'allocazione di quella risorsa, ad esempio aumentando il limite di CPU o memoria del deployment di istiod. Si tratta di un soluzione temporanea e ti abbiamo consigliato di analizzare i metodi per ridurre e 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 la 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 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.