Pianifica i carichi di lavoro di grandi dimensioni


Questa pagina descrive le best practice che puoi seguire per gestire carichi di lavoro di grandi dimensioni su più cluster GKE. Queste best practice coprono le considerazioni per la distribuzione dei carichi di lavoro su più progetti e l'aggiustamento delle quote richieste.

Best practice per la distribuzione dei carichi di lavoro GKE su più progetti Google Cloud

Per definire meglio la struttura del progetto Google Cloud e la distribuzione dei carichi di lavoro GKE in base ai requisiti aziendali, consigliamo di prendere in considerazione le seguenti azioni di progettazione e pianificazione:

  1. Segui le indicazioni riportate in Decidere una gerarchia delle risorse per la zona di destinazione Google Cloud per prendere le decisioni iniziali sulla struttura dell'organizzazione per cartelle e progetti. Google Cloud consiglia di utilizzare elementi della gerarchia delle risorse come cartelle e progetti per suddividere il carico di lavoro in base ai confini dell'organizzazione o ai criteri di accesso.
  2. Valuta se devi suddividere i carichi di lavoro a causa delle quote del progetto. Google Cloud utilizza quote per progetto per limitare l'utilizzo delle risorse condivise. Devi seguire i consigli descritti di seguito e modificare le quote del progetto per i carichi di lavoro di grandi dimensioni. Per la maggior parte dei carichi di lavoro, dovresti essere in grado di ottenere le quote richieste più elevate in un solo progetto. Ciò significa che le quote non devono essere il fattore principale per suddividere il carico di lavoro tra più progetti. Mantenere i carichi di lavoro in un numero inferiore di progetti semplifica la gestione delle quote e dei carichi di lavoro.
  3. Valuta se prevedi di eseguire carichi di lavoro molto grandi (su scala di centinaia di migliaia di CPU o più). In questo caso, suddividere il carico di lavoro in diversi progetti può aumentare la disponibilità delle risorse cloud (come CPU o GPU). Questo è possibile grazie all'utilizzo della configurazione ottimizzata della virtualizzazione delle zone. In questi casi, contatta il tuo account manager per ricevere assistenza e consigli speciali.

Best practice per la modifica delle quote per i workload GKE di grandi dimensioni

Questa sezione descrive le linee guida per la modifica delle quote per le risorse Google Cloud utilizzate dai carichi di lavoro GKE. Modifica le quote per i progetti in base alle seguenti linee guida. Per scoprire come gestire la quota tramite la console Google Cloud, consulta Gestire le quote.

Quote e best practice di Compute Engine

I cluster GKE, in esecuzione sia in modalità Autopilot sia in modalità Standard, utilizzano le risorse Compute Engine per eseguire i carichi di lavoro. A differenza delle risorse del piano di controllo di Kubernetes gestite internamente da Google Cloud, puoi gestire e valutare le quote di Compute Engine utilizzate dai tuoi flussi di lavoro.

Le quote di Compute Engine, sia per le risorse che per le API, vengono condivise da tutti i cluster GKE ospitati nella stessa regione e nello stesso progetto. Le stesse quote sono condivise anche con altre risorse Compute Engine (non correlate a GKE), ad esempio istanze VM o gruppi di istanze autonome.

I valori predefiniti delle quote possono supportare diverse centinaia di nodi worker e richiedono un aggiustamento per carichi di lavoro più grandi. Tuttavia, in qualità di amministratore della piattaforma, puoi aggiustare in modo proattivo le quote di Compute Engine per assicurarti che i tuoi cluster GKE abbiano risorse sufficienti. Quando valuti o modifichi i valori delle quote, devi anche prendere in considerazione le esigenze future relative alle risorse.

Quote per le risorse Compute Engine utilizzate dai nodi worker GKE

La tabella seguente elenca le quote per le risorse Compute Engine più comuni utilizzate dai nodi worker di GKE. Queste quote sono configurate per progetto e per regione. Le quote devono coprire la dimensione massima combinata dei nodi worker GKE utilizzati dal tuo carico di lavoro, nonché altre risorse Compute Engine non correlate a GKE.

Quota per le risorse Descrizione
CPU Numero di CPU utilizzate da tutti i nodi worker di tutti i cluster.
Tipo di CPU Numero di ogni tipo specifico di CPU utilizzata da tutti i nodi worker di tutti i cluster.
Istanze VM Numero di tutti i nodi worker. Questa quota viene calcolata automaticamente come 10 volte il numero di CPU.
Istanze per rete VPC Numero di tutti i nodi worker connessi alla rete VPC.
Persistent Disk standard (GB) Dimensioni totali dei dischi di avvio permanenti standard collegati a tutti i nodi worker.
Disco permanente SSD (GB) Dimensioni totali dei dischi di avvio SSD permanenti collegati a tutti i nodi worker.
SSD locale (GB) Dimensioni totali dei dischi SSD locali temporanei collegati a tutti i nodi worker.

Assicurati di modificare anche le quote utilizzate dalle risorse che il tuo carico di lavoro potrebbe richiedere, come GPU, indirizzi IP o risorse preemptive.

Quote per le chiamate all'API Compute Engine

I cluster di grandi dimensioni o scalabili richiedono un numero maggiore di chiamate all'API Compute Engine. GKE effettua queste chiamate all'API Compute Engine durante attività quali:

  • Controllo dello stato delle risorse di calcolo.
  • Aggiunta o rimozione di nuovi nodi al cluster.
  • Aggiunta o rimozione di nuovi pool di nodi.
  • Etichettatura periodica delle risorse.

Quando pianifichi l'architettura di un cluster di grandi dimensioni, ti consigliamo di procedere come segue:

  1. Osserva il consumo storico delle quote.
  2. Modifica le quote in base alle esigenze, mantenendo un buffer ragionevole. Come punto di partenza, puoi fare riferimento ai seguenti consigli sulle best practice e modificare le quote in base alle esigenze del tuo carico di lavoro.
  3. Poiché le quote sono configurate per regione, regolale solo nelle regioni in cui prevedi di eseguire carichi di lavoro di grandi dimensioni.

La tabella seguente elenca le quote per le chiamate all'API Compute Engine. Queste quote vengono configurate per progetto, indipendentemente per ogni regione. Le quote sono condivise da tutti i cluster GKE ospitati nello stesso progetto e nella stessa regione.

Quota API Descrizione Best practice
Query al minuto per regione Queste chiamate vengono utilizzate da GKE per eseguire vari controlli sullo stato delle varie risorse di calcolo.

Per i progetti e le regioni con diverse centinaia di nodi dinamici, modifica questo valore in 3500.

Per i progetti e le regioni con diverse migliaia di nodi altamente dinamici, modifica questo valore in 6000.

Richieste di lettura al minuto per regione Queste chiamate vengono utilizzate da GKE per monitorare lo stato delle istanze VM (nodi).

Per progetti e regioni con diverse centinaia di nodi, modifica questo valore in 12.000.

Per progetti e regioni con migliaia di nodi, modifica questo valore in 20.000.

Elenco delle richieste al minuto per regione Queste chiamate vengono utilizzate da GKE per monitorare lo stato dei gruppi di istanze (pool di nodi).

Per i progetti e le regioni con diverse centinaia di nodi dinamici, non modificare il valore predefinito perché è sufficiente.

Per progetti e regioni con migliaia di nodi altamente dinamici, in più pool di nodi, modifica questo valore in 2500.

Richieste di referrer dell'elenco di istanze al minuto per regione Queste chiamate vengono utilizzate da GKE per ottenere informazioni sulle istanze VM (nodi) in esecuzione.

Per progetti e regioni con migliaia di nodi altamente dinamici, modifica questo valore in 6000.

Richieste di lettura delle operazioni al minuto per regione Queste chiamate vengono utilizzate da GKE per ottenere informazioni sulle operazioni in corso dell'API Compute Engine.

Per progetti e regioni con migliaia di nodi altamente dinamici, modifica questo valore in 3000.

Best practice e quote per le API Cloud Logging e Cloud Monitoring

A seconda della configurazione del cluster, i carichi di lavoro di grandi dimensioni in esecuzione su cluster GKE potrebbero generare un volume elevato di informazioni di diagnostica. Se superi le quote dell'API Cloud Logging o dell'API Cloud Monitoring, i dati di monitoraggio e di logging potrebbero andare persi. Ti consigliamo di configurare la verbosezza dei log e di modificare le quote dell'API Cloud Logging e dell'API Cloud Monitoring per acquisire le informazioni di diagnostica generate. Managed Service per Prometheus utilizza le quote di Cloud Monitoring.

Poiché ogni carico di lavoro è diverso, ti consigliamo di procedere come segue:

  1. Osserva il consumo storico delle quote.
  2. Modifica le quote o la configurazione di logging e monitoraggio in base alle tue esigenze. Mantieni un buffer ragionevole per i problemi imprevisti.

La tabella seguente elenca le quote per le chiamate alle API Cloud Logging e Cloud Monitoring. Queste quote sono configurate per progetto e sono condivise da tutti i cluster GKE ospitati nello stesso progetto.

Servizio Quota Descrizione Best practice
API Cloud Logging Richieste di scrittura al minuto GKE utilizza questa quota quando aggiunge voci ai file di log archiviati in Cloud Logging.

La frequenza di inserimento dei log dipende dalla quantità di log generati dai pod nel cluster. Aumenta la quota in base al numero di pod, alla modalità dettagliata del logging delle applicazioni e alla configurazione del logging.

Per scoprire di più, consulta la sezione sulla gestione dei log di GKE.

API Cloud Monitoring Richieste di importazione di serie temporali al minuto

GKE utilizza questa quota per inviare le metriche di Prometheus a Cloud Monitoring:

  • Le metriche di Prometheus consumano circa 1 chiamata al secondo per ogni 200 campioni al secondo raccolti. Questo volume di importazione dipende dal tuo workload e dalla configurazione di GKE. L'esportazione di più serie temporali Prometheus comporterà un maggiore consumo di quota.

Monitora e modifica questa quota in base alle esigenze.

Per scoprire di più, consulta la sezione sulla gestione delle metriche GKE.

Quota e best practice per i nodi GKE

GKE supporta i seguenti limiti:

  • Fino a 15.000 nodi in un singolo cluster con la quota predefinita impostata su 5000 nodi. Questa quota viene impostata separatamente per ogni cluster GKE e non per progetto come le altre quote.
  • Nella versione 1.31 e successive, GKE supporta cluster di grandi dimensioni fino a 65.000 nodi.

Se prevedi di scalare il cluster oltre i 5000 nodi, svolgi i seguenti passaggi:

  1. Identifica il cluster di cui vuoi aumentare le dimensioni oltre i 5000 nodi.
  2. Assicurati che il carico di lavoro rientri nei limiti del cluster e nelle quote GKE dopo la scalabilità.
  3. Assicurati di aumentare le quote di Compute Engine in base alle esigenze del tuo carico di lavoro scalato.
  4. Assicurati che il tipo di disponibilità del cluster sia regionale e che il cluster utilizzi Private Service Connect.
  5. Per richiedere un aumento della quota per il numero di nodi per cluster, contatta l'assistenza clienti Google Cloud. Il team di GKE ti contatterà per verificare che il tuo carico di lavoro segua le best practice di scalabilità e sia pronto per essere scalato oltre i 5000 nodi su un singolo cluster.

Best practice per evitare altri limiti per i carichi di lavoro di grandi dimensioni

Limite per il numero di cluster che utilizzano il peering di rete VPC per rete e per località

Puoi creare un massimo di 75 cluster che utilizzano il peering di rete VPC nella stessa rete VPC per località (le zone e le regioni sono trattate come località distinte). I tentativi di creare altri cluster oltre il limite non andranno a buon fine con un errore simile al seguente:

CREATE operation failed. Could not trigger cluster creation:
Your network already has the maximum number of clusters: (75) in location us-central1.

I cluster GKE con nodi privati creati prima della versione 1.29 utilizzano il peering di rete VPC per fornire la comunicazione interna tra il server API Kubernetes (gestito da Google) e i nodi privati con solo indirizzi interni.

Per risolvere il problema, puoi utilizzare cluster che utilizzano la connettività Private Service Connect (PSC). I cluster con connettività PSC offrono lo stesso isolamento di un cluster che utilizza il peering di rete VPC, senza la limitazione di 75 cluster. I cluster con connettività PSC non utilizzano il peering di rete VPC e non sono interessati dal limite del numero di peering VPC.

Puoi utilizzare le istruzioni fornite in Riutilizzo del peering di rete VPC per identificare se i tuoi cluster utilizzano il peering di rete VPC.

Per evitare di raggiungere il limite durante la creazione di nuovi cluster:

  1. Assicurati che il tuo cluster utilizzi PSC.
  2. Configura l'isolamento in modo che i pool di nodi diventino privati utilizzando il parametro enable-private-nodes per ogni pool di nodi.
  3. Facoltativamente, configura l'isolamento per il control plane utilizzando il enable-private-endpoint parametro a livello di cluster. Per saperne di più, vedi Personalizzare l'isolamento di rete.

In alternativa, contatta il team di assistenza Google Cloud per aumentare il limite di 75 cluster utilizzando il peering di rete VPC. Queste richieste vengono valutate caso per caso e, se è possibile aumentare il limite, viene applicato un aumento di una sola cifra.

Passaggi successivi