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, vedi 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. Questo problema viene attenuato da un tempo di connessione massimo di 30 minuti, che potrebbe comportare messaggi di errore in Envoy, ad esempio gRPC config stream closed: 13, che consente di riequilibrare il carico in modo naturale.

Per attenuare il problema, utilizza più repliche di Istiod (il valore predefinito è 2 repliche) e la prescalabilità se prevedi aumenti di dimensioni estremi del cluster.