Questa pagina fornisce consigli per pianificare l'architettura di gestione della configurazione nelle istanze di Config Controller e mantenere la creazione e la gestione delle risorse Google Cloud entro gli obiettivi del livello di servizio (SLO).
Questa pagina è rivolta ad amministratori, architetti e operatori che gestiscono il ciclo di vita dell'infrastruttura tecnologica sottostante e pianificano la capacità e le esigenze dell'infrastruttura. Per scoprire di più sui ruoli comuni e sulle attività di esempio a cui facciamo riferimento nei contenuti di Google Cloud , consulta la pagina Ruoli e attività comuni degli utenti GKE.
Utilizzare la modalità con spazio dei nomi
Ti consigliamo di utilizzare Config Connector in modalità con spazio 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ò aiutarti a gestire quote e configurazioni, poiché 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 per 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 che Config Sync supportano la modalità con spazio dei nomi, che consente di mappare ogni spazio dei nomi a un singolo progetto Google Cloud .
Target di scalabilità
La tabella seguente mostra i valori che testiamo regolarmente. Sappiamo che Config Connector può gestire numeri più grandi. Abbiamo dimostrato che è possibile gestire 30.000 risorse in un singolo spazio dei nomi. Tuttavia, è necessario apportare alcune modifiche per far funzionare il tutto. Ti consigliamo di esaminare la modalità Namespaced per suggerimenti su queste modifiche.
I target di scalabilità di Config Controller sono gruppi di risorse testati da Google e con l'utilizzo di Config Sync GitOps. Puoi utilizzare questi target per pianificare l'architettura di Config Management.
Questi target non sono limiti rigidi. L'aumento della quantità di un tipo di risorsa non renderà necessariamente non disponibile l'istanza Config Controller, ma potrebbe ridurre la quantità totale di altri tipi di risorse nella stessa istanza Config Controller che puoi deployment.
Le tabelle in questa pagina sono intese come riferimenti e non sono esaustive.
Un solo spazio dei nomi
L'esempio seguente mostra un'istanza di Config Controller con uno spazio dei nomi Config Connector nel cluster. Config Connector può creare e gestire il seguente numero di risorse in questo spazio dei nomi:
Tipo di risorsa |
Limite suggerito |
|
450 |
|
2250 |
|
2500 |
|
5000 |
|
50 |
|
200 |
|
2500 |
|
7500 |
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 seguente numero di risorse in ogni spazio dei nomi:
Tipo di risorsa |
Limite suggerito |
|
9 |
SQLDatabase |
45 |
SQLUser |
45 |
StorageBucket |
100 |
ContainerCluster |
1 |
ContainerNodepool |
4 |
IAMServiceAccount |
50 |
IAMPartialPolicy |
150 |
Spazi dei nomi di Config Connector
Config Controller utilizza la modalità con spazi dei nomi di Config Connector per impostazione predefinita. Le seguenti tabelle mostrano un esempio del numero di spazi dei nomi Config Connector che puoi avere in una singola istanza di Config Connector.
|
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 i target di scalabilità.
Google Cloud Quote API
Puoi visualizzare le tue Google Cloud quote API nella Google Cloud console. Quando alcune quote sono vicine ai limiti, valuta la possibilità di dividere la quota API per Google Cloud progetti. Per scoprire di più sul monitoraggio e sugli avvisi relativi alle metriche delle quote, consulta Monitorare e inviare avvisi sulle metriche delle quote.
Utilizzo della memoria di Config Connector
Puoi visualizzare l'utilizzo della memoria di Config Connector nella dashboard di monitoraggio GKE. Quando l'utilizzo della memoria di Config Connector è vicino al limite, valuta la possibilità di eseguire lo sharding per spazio dei nomi.
Scalabilità di Config Controller
Se hai raggiunto i target di scalabilità, devi valutare la possibilità di scalare ulteriormente le istanze di Config Controller. Questa sezione descrive diversi metodi che puoi utilizzare per scalare le istanze di Config Controller.
Sharding 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 negli spazi dei nomi.
Ogni spazio dei nomi utilizza i propri service account e carichi di lavoro operatore, il che 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 uno spazio dei nomi Config Connector per gestire ogni progetto Google Cloud .
Quota dell'API di sharding per Google Cloud progetti
Se raggiungi un target di scalabilità a causa del raggiungimento delle Google Cloud quote API, puoi associare service account IAM diversi di proprietà di progetti Google Cloud diversi a spazi dei nomi diversi in cui Config Connector è installato in modalità con spazio dei nomi. Puoi quindi dividere le risorse in progetti diversi.
Partizionamento per istanze di Config Connector
Se raggiungi un target di scalabilità con più spazi dei nomi Config Connector, puoi creare e utilizzare più di un'istanza di Config Controller. Con più di un'istanza di Config Controller, puoi partizionare 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à
Google Cloud Quote API
Se hai riscontrato errori che indicano che hai superato il limite di quota API, potresti aver creato troppe risorse Config Connector dello stesso tipo nello stesso progetto. Queste risorse possono generare troppe richieste API allo stesso endpoint API a causa della strategia di riconciliazione in Config Connector.
Per risolvere il problema, puoi dividere la quota API per progetto o richiedere un aggiustamento della quota. Google Cloud
Limitazioni di GKE
Poiché Config Controller è basato su GKE, esistono limitazioni di GKE da considerare. Le sezioni seguenti trattano considerazioni specifiche relative a Config Controller. Per saperne di più sui limiti generali e sulle best practice per i cluster GKE di grandi dimensioni, consulta Pianificare cluster GKE di grandi dimensioni.
Limite per account di servizio Kubernetes
Il numero di
service account Kubernetes (KSA)
creati in un singolo cluster GKE non deve superare 3000 perché potresti
riscontrare un
gke-metadata-server
problema di arresto anomalo del pod.
Ogni volta che aggiungi uno spazio dei nomi Config Connector, viene creato anche un service account Kubernetes.
Problemi di prestazioni del control plane GKE
Il piano di controllo del cluster GKE può presentare problemi di prestazioni se un'istanza di Config Controller ha troppi spazi dei nomi Config Connector. Dovresti limitare il numero di spazi dei nomi Config Connector a meno di 500 per cluster.
Ogni volta che aggiungi uno spazio dei nomi Config Connector, viene creato anche un pod controller.
Passaggi successivi
- Scopri come partizionare Config Controller
- Ricevi assistenza per la risoluzione dei problemi di Config Controller