Risolvere i 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 al limite di risorse di Cloud Service Mesh possono essere causati da uno dei seguenti fattori:
- Oggetti
LimitRange
creati nello spazio dei nomiistio-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 da
istiod
, come indicato dall'erroreEnvoy 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 statiSTALE
nell'output.OOMKilled
nei log di un nodo.- Utilizzo della memoria da parte dei container:
kubectl top pod POD_NAME --containers
. - Utilizzo della memoria da parte dei pod all'interno di un nodo:
kubectl top node my-node
. - Envoy out of memory:
kubectl get pods
shows statusOOMKilled
in the 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:
Se gli strumenti di monitoraggio (Prometheus, Stackdriver e così via) mostrano un utilizzo elevato di una risorsa da parte di
istiod
, aumenta l'allocazione di quella risorsa, ad esempio aumenta il limite di CPU o memoria del deployment diistiod
. Si tratta di una soluzione temporanea e ti consigliamo di esaminare i metodi per ridurre il consumo di risorse.Se riscontri questo problema in un cluster/un'implementazione di grandi dimensioni, riduci la quantità di stato di configurazione inviata a ciascun proxy configurando le risorse sidecar.
Se il problema persiste, prova a eseguire la scalatura orizzontale
istiod
.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.