Risolvere i problemi di scalabilità di Istiod 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.

Fattori di scalabilità

Istiod invia la configurazione a ciascun file collaterale utilizzando un flusso gRPC di lunga durata. Ha diverse caratteristiche che influiscono sulla scalabilità:

  • Le dimensioni della configurazione da generare:
    • Numero totale di servizi/pod e risorse Istio
    • Per le installazioni su larga scala, modifica le impostazioni di Sidecar per ridurre le dimensioni della configurazione.
  • La velocità di cambiamento nell'ambiente:
    • Quando viene creato un nuovo servizio o viene modificata la configurazione di Istio, gli aggiornamenti completi vengono inviati ai proxy.
    • L'aggiunta di nuovi endpoint non influisce sulle prestazioni, perché vengono inviati solo aggiornamenti incrementali.
  • Il numero di proxy per i quali viene generata la configurazione:
    • Interessato dal numero di gateway e pod con un file collaterale.

Considerazioni sulla scalabilità

Istiod è scalabile verticalmente (richieste di grandi dimensioni) e orizzontalmente (più repliche). Assicurati che i limiti di CPU non siano troppo restrittivi; se Istio raggiunge il limite di CPU, potrebbe verificarsi una limitazione che influisce negativamente la distribuzione della configurazione. Se riscontri problemi di prestazioni, valuta la possibilità di eseguire l'upgrade alla versione più recente di Cloud Service Mesh, poiché ogni versione include ottimizzazioni delle prestazioni.

Carico sbilanciato

Variazioni di grande entità nelle dimensioni del cluster potrebbero causare un carico temporaneamente sbilanciato, a causa legami di lunga durata. Ciò è mitigato da una connessione massima di 30 minuti l'età, che potrebbe generare messaggi di errore in Envoy, come gRPC config stream closed: 13, che consentono il ribilanciamento naturale del carico.

Riduci questo problema utilizzando più repliche di Istio (il valore predefinito è 2) di repliche) e di pre-scalabilità se prevedi di fare scale up estremi del cluster.