Linee guida sulla scalabilità di Config Controller

Questa pagina fornisce suggerimenti per aiutarti a pianificare la tua architettura di gestione della configurazione sulle istanze di Config Controller e mantenere la creazione e la gestione delle risorse di Google Cloud all'interno degli obiettivi del livello di servizio (SLO).

Target di scalabilità

I target di scalabilità di Config Controller sono gruppi di risorse testati da Google. Puoi utilizzare questi target per pianificare l'architettura di Config Management.

Queste destinazioni non rappresentano limiti rigidi. Se limiti la quantità di un tipo di risorsa, l'istanza Config Controller non sarà necessariamente disponibile, ma potresti ridurre la quantità totale di altri tipi di risorse nella stessa istanza Config Controller di cui puoi eseguire il deployment.

Le tabelle 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 uno spazio dei nomi di Config Connector nel cluster. Config Connector può creare e gestire il seguente numero di risorse nello spazio dei nomi:

Tipo di risorsa

Limite suggerito

SQLInstance

450

SQLDatabase

2250

SQLUser

2500

StorageBucket

5000

ContainerCluster

50

ContainerNodepool

200

IAMServiceAccount

2500

IAMPartialPolicy

7500

Spazi dei nomi multipli

L'esempio seguente mostra un'istanza di Config Controller con 50 spazi dei nomi di 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

SQLInstance

9

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

Spazi dei nomi Config Connector

Per impostazione predefinita, Config Controller utilizza la modalità con spazio dei nomi di Config Connector. Le tabelle seguenti mostrano un esempio del numero di spazi dei nomi 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

Controllo dei target di scalabilità

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

Quote dell'API Google Cloud

Puoi visualizzare le quote dell'API Google Cloud nella console Google Cloud. Quando alcune quote stanno per raggiungere i limiti, prendi in considerazione la quota dell'API di suddivisione dei progetti Google Cloud. Per ulteriori informazioni su monitoraggio e avvisi sulle metriche di quota, consulta Monitoraggio e avvisi sulle metriche di quota.

Utilizzo memoria Config Connector

Puoi visualizzare 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 partizionare in base allo spazio dei nomi.

Scale up di Config Controller

Se hai raggiunto i target di scalabilità, ti consigliamo di fare lo scale up delle istanze di Config Controller. Questa sezione descrive i diversi metodi che puoi utilizzare per fare lo scale up delle tue istanze 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 nei tuoi spazi dei nomi.

Ogni spazio dei nomi utilizza i propri account di servizio e carichi di lavoro degli operatori, il che consente a Config Connector di gestire le tue risorse su larga scala. Se utilizzi un'istanza Config Controller per gestire più progetti Google Cloud, puoi utilizzare lo spazio dei nomi di Config Connector per gestire ogni progetto Google Cloud.

Quota dell'API di sharding dei progetti Google Cloud

Se raggiungi una destinazione di scalabilità grazie al raggiungimento delle quote dell'API Google Cloud, puoi associare diversi account di servizio IAM di proprietà di diversi progetti Google Cloud a diversi spazi dei nomi in cui Config Connector è installato in modalità con spazio dei nomi. Puoi quindi suddividere le risorse in progetti diversi.

sharding per istanze 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 eseguire lo sharding della tua gestione della configurazione delle risorse, ad esempio in base a diversi ambienti di sviluppo, team di applicazioni o directory GitOps nella tua organizzazione.

Altre considerazioni sulla scalabilità

Quote dell'API Google Cloud

Se si sono verificati errori che indicano che hai superato il limite della quota dell'API, potresti aver creato troppe risorse di 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 questo problema, puoi impostare una quota API rigida per progetto Google Cloud o richiedere un limite di quota più alto.

Limiti di GKE

Poiché Config Controller è basato su GKE, devi considerare alcune limitazioni di GKE. Le seguenti sezioni riguardano alcune considerazioni specifiche relative a Config Controller. Per ulteriori informazioni sui limiti generali e le best practice per i cluster GKE di grandi dimensioni, consulta Pianificare cluster GKE di grandi dimensioni.

Limite account di servizio Kubernetes

Il numero di account di servizio Kubernetes (KSA) creato in un singolo cluster GKE non deve superare i 3000 perché potresti riscontrare un problema di arresto anomalo del pod gke-metadata-server.

Quando aggiungi uno spazio dei nomi Config Connector, viene creato anche un account di servizio Kubernetes.

Problemi di prestazioni del piano di controllo GKE

Il piano di controllo del cluster GKE può presentare problemi di prestazioni se un'istanza di Config Controller ha troppi spazi dei nomi di Config Connector. Devi limitare il numero di spazi dei nomi Config Connector a 500 per cluster.

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

Passaggi successivi