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 ogni sidecar utilizzando uno stream gRPC a lungo termine. 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:
    • Il valore è influenzato dal numero di gateway e pod con un sidecar.

Considerazioni sulla scalabilità

Istiod è scalabile verticalmente (richieste di grandi dimensioni) e orizzontalmente (più repliche). Assicurati che i limiti della CPU non siano troppo restrittivi. Se Istiod raggiunge il limite della CPU, potrebbe verificarsi una limitazione che influirà negativamente sulla 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

Modifiche significative delle dimensioni del cluster potrebbero causare un carico temporaneamente sbilanciato a causa delle connessioni 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 naturalmente il carico.

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.