Linee guida per la scalabilità di Config Controller

Questa pagina fornisce suggerimenti per aiutarti a pianificare l'architettura di gestione della configurazione sulle istanze Config Controller e mantieni la creazione e e la gestione degli obiettivi del livello di servizio (SLO).

Questa pagina è rivolta ad amministratori, architetti e operatori che gestiscono il ciclo di vita dell'infrastruttura tecnologica di base e pianificano le esigenze di capacità e infrastruttura. Per scoprire di più sui ruoli comuni e sugli esempi di attività a cui facciamo riferimento nei contenuti di Google Cloud, consulta Ruoli e attività comuni degli utenti di GKE Enterprise.

Usa la modalità con spazio dei nomi

Ti consigliamo di utilizzare Config Connector in modalità con spazi dei nomi perché può essere più facile gestire un numero elevato di risorse. Puoi impostare ogni spazio dei nomi in modo che corrisponda a un singolo spazio dei nomi, il che può aiutare a gestire quote e configurazioni, dato che le risorse hanno quote di lettura e scrittura per progetto. A partire dalla versione 1.119.0, puoi aumentare i limiti di frequenza di riconciliazione in base allo spazio dei nomi. Aumentando i limiti di frequenza, puoi consentire la riconciliazione per più di 10.000 risorse per spazio dei nomi in un intervallo di 10 minuti. Sia Config Connector sia Config Sync supportano la modalità con spazi dei nomi, che consente di mappare ogni spazio dei nomi a un singolo progetto Google Cloud.

Target di scalabilità

La seguente tabella rappresenta i valori che testiamo regolarmente. Sappiamo che Config Connector può gestire numeri più grandi. Abbiamo dimostrato che è possibile gestire 30.000 risorse in un unico spazio dei nomi. Ci sono però alcune ottimizzazioni necessari per far funzionare tutto. Ti consigliamo di rivedere la modalità con pacing dei nomi per suggerimenti su queste modifiche.

Gli obiettivi di scalabilità di Config Controller sono gruppi di risorse testate da Google e con l'utilizzo di Config Sync GitOps. Tu puoi utilizzarli per pianificare l'architettura di Config Management.

Questi obiettivi non sono limiti rigidi. Ampliamento della quantità di un tipo di risorsa necessariamente l'istanza di Config Controller non sarà disponibile, ma Ridurre la quantità totale di altri tipi di risorse nello stesso Config Controller di cui puoi eseguire il deployment.

Le tabelle presenti in questa pagina sono da intendersi come riferimenti e non sono esaustive.

Spazio dei nomi singolo

L'esempio seguente mostra un'istanza di Config Controller con un solo spazio dei nomi Config Connector nel cluster. Config Connector può creare e gestire il seguente numero di risorse nello spazio dei nomi:

Tipo di risorsa

Limite consigliato

SQLInstance

450

SQLDatabase

2.250

SQLUser

2.500

StorageBucket

5000

ContainerCluster

50

ContainerNodepool

200

IAMServiceAccount

2.500

IAMPartialPolicy

7.500

Più spazi dei nomi

L'esempio seguente mostra un'istanza di Config Controller con 50 spazi dei nomi Config Connector in un cluster. Config Connector può creare e gestire il numero seguente di risorse in ogni spazio dei nomi:

Tipo di risorsa

Limite consigliato

SQLInstance

9

SQLDatabase 45
SQLUser 45
StorageBucket 100
ContainerCluster 1
ContainerNodepool 4
IAMServiceAccount 50
IAMPartialPolicy 150

Spazi dei nomi di Config Connector

Config Controller utilizza Modalità con spazio dei nomi di Config Connector per impostazione predefinita. La tabella seguente mostra un esempio del numero di oggetti Config Connector che puoi avere in una singola istanza di Config Connector.

--cluster-ipv4-cidr-block

Numero di nodi

Numero di spazi dei nomi Config Connector

/18

64

600

/19

32

300

/20 (valore predefinito e consigliato)

16

120

/21

8

60

Verifica dei target di scalabilità

Puoi utilizzare le seguenti risorse per determinare se hai raggiunto gli obiettivi di scalabilità.

Quote dell'API Google Cloud

Puoi visualizza le quote dell'API Google Cloud nella console Google Cloud. Quando alcune quote sono vicine ai limiti, valuta la possibilità di suddividere la quota dell'API di suddivisione in base ai progetti Google Cloud. Per scoprire di più sul monitoraggio e sugli avvisi relativi alle metriche delle quote, consulta Monitoraggio e avvisi sulle metriche delle quote.

Utilizzo della memoria di Config Connector

Puoi visualizza l'utilizzo della memoria di Config Connector nella dashboard di monitoraggio di GKE. Quando l'utilizzo della memoria di Config Connector è vicino al limite, valuta la possibilità di eseguire lo sharding per spazio dei nomi.

Fare lo scale up di Config Controller

Se hai raggiunto i target di scalabilità, ti consigliamo di eseguire un ulteriore ridimensionamento delle istanze Config Controller. Questa sezione illustra i diversi metodi per fare lo scale up delle istanze di Config Controller.

Partizionamento per spazio dei nomi

Se raggiungi un target di scalabilità con un singolo spazio dei nomi Config Connector, puoi configurare Config Connector per gestire le risorse nei tuoi spazi dei nomi.

Ogni spazio dei nomi utilizza i propri account di servizio e carichi di lavoro dell'operatore, consente a Config Connector di gestire le risorse su larga scala. Se utilizzi un'istanza di Config Connector per gestire più progetti Google Cloud, puoi utilizzare un singolo spazio dei nomi Config Connector per gestire ciascun progetto Google Cloud.

Quota dell'API di sharding per progetti Google Cloud

Se raggiungi un obiettivo di scalabilità dovuto al raggiungimento Quote dell'API Google Cloud, puoi associare servizi IAM diversi di proprietà di diversi progetti Google Cloud a spazi dei nomi diversi in cui Config Connector è installato in modalità con spazio dei nomi. Puoi quindi suddividono le risorse in diversi progetti.

Sharding per istanze Config Connector

Se raggiungi un obiettivo di scalabilità con più spazi dei nomi Config Connector, creare e utilizzare più di un'istanza di Config Controller. Con più istanze di Config Controller, puoi suddividere la gestione della configurazione delle risorse, ad esempio in base a diversi ambienti di sviluppo, team di applicazioni o directory GitOps all'interno della tua organizzazione.

Altre considerazioni sulla scalabilità

Quote dell'API Google Cloud

Se hai riscontrato errori che indicano che hai superato il limite di quota dell'API, potresti aver creato troppe risorse Config Connector dello stesso tipo nello stesso progetto. Queste risorse possono generare troppe richieste API lo stesso endpoint API a causa strategia di riconciliazione in Config Connector.

Per risolvere il problema, puoi quota API shard per progetto Google Cloud o richiesta un limite di quota più elevato.

Limitazioni di GKE

Poiché Config Controller si basa su GKE, di GKE, che dovresti prendere in considerazione. Le sezioni seguenti trattano considerazioni specifiche relative a Config Controller. Per ulteriori informazioni sui limiti generali e sulle best practice per i cluster GKE di grandi dimensioni, consulta Pianifica cluster GKE di grandi dimensioni.

Limite account di servizio Kubernetes

Il numero di Account di servizio Kubernetes (KSA) create in un singolo cluster GKE non dovrebbe superare i 3000 potrebbero verificarsi gke-metadata-server Problema di arresto anomalo del pod.

Ogni volta che aggiungi uno spazio dei nomi Config Connector, viene creato anche un servizio Kubernetes .

Problemi di prestazioni del piano di controllo GKE

La Piano di controllo del cluster GKE possono avere problemi di prestazioni se un'istanza di Config Controller ne ha troppe spazi dei nomi Config Connector. Dovresti limitare il numero di spazi dei nomi di Config Connector a meno di 500 per cluster.

Ogni volta che aggiungi uno spazio dei nomi Config Connector, viene creato anche un pod del controller.

Passaggi successivi