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:
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 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
indicato da l'erroreEnvoy proxy NOT ready
. Questo errore più volte viene visualizzato all'avvio normale, ma per il resto è un problema. - Problemi di rete con alcuni pod o nodi che diventano irraggiungibili.
istioctl proxy-status
mostraSTALE
stati nell'output.OOMKilled
nei log di un nodo.- Memoria utilizzata per 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 Istio richiedono molto tempo per ricevere la configurazione
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:
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 deploymentistiod
. 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 la scalabilità orizzontale di
istiod
.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 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, numero di servizi ecc.