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 che li rappresentano. Se hai bisogno di ulteriore assistenza, consulta Ricevere assistenza.
I problemi relativi al limite di risorse di Cloud Service Mesh possono essere causati da uno dei seguenti elementi:
LimitRange
oggetti creati nello spazio dei nomiistio-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.
Possibili sintomi di problemi relativi alle risorse:
- Cloud Service Mesh non riceve ripetutamente la configurazione dal piano di controllo, come indicato dall'errore
Envoy proxy NOT ready
. Questo errore viene visualizzato un paio di volte all'avvio è normale, ma per il resto è un problema. - Problemi di Networking con alcuni pod o nodi che diventano irraggiungibili.
istioctl proxy-status
mostraSTALE
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 statoOOMKilled
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:
Per Cloud Service Mesh all'interno del cluster, se gli strumenti di monitoraggio (Prometheus, Stackdriver e così via) mostrano un elevato utilizzo di una risorsa da parte di
istiod
, aumenta la relativa allocazione, ad esempio aumentando il limite di CPU o memoria del deployment diistiod
. Si tratta di una soluzione temporanea e ti consigliamo dei metodi per ridurre il consumo di risorse.Se riscontri questo problema in un cluster o un deployment di grandi dimensioni, riduci la quantità di stato di configurazione inviata a ciascun proxy configurando le risorse sidecar.
Per Cloud Service Mesh nel cluster, se il problema persiste, prova a eseguire il scaling 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 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.