Cette page fournit des recommandations pour vous aider à planifier votre architecture de gestion de configuration sur des instances Config Controller et à maintenir la création et la gestion de vos ressources Google Cloud dans les objectifs de niveau de service (SLO).
Cibles d'évolutivité
Les cibles d'évolutivité de Config Controller sont des groupes de ressources testés par Google et à l'aide de Config Sync GitOps. Vous pouvez utiliser ces cibles pour vous aider à planifier votre architecture de gestion de configuration.
Ces cibles ne sont pas des limites strictes. L'extension d'un genre de ressource ne rend pas nécessairement l'instance Config Controller indisponible, mais peut réduire la quantité totale d'autres types de ressources que vous pouvez déployer dans la même instance Config Controller.
Les tableaux de cette page sont fournis à titre de référence et ne sont pas exhaustifs.
Espace de noms unique
L'exemple suivant montre une instance Config Controller avec un espace de noms Config Connector dans le cluster. Config Connector peut créer et gérer le nombre suivant de ressources dans cet espace de noms :
Type de ressource |
Limite suggérée |
|
450 |
|
2 250 |
|
2,500 |
|
5 000 |
|
50 |
|
200 |
|
2,500 |
|
7 500 |
Espaces de noms multiples
L'exemple suivant montre une instance Config Controller avec 50 espaces de noms Config Connector dans un cluster. Config Connector peut créer et gérer le nombre suivant de ressources dans chaque espace de noms :
Type de ressource |
Limite suggérée |
|
9 |
SQLDatabase |
45 |
SQLUser |
45 |
StorageBucket |
100 |
ContainerCluster |
1 |
ContainerNodepool |
4 |
IAMServiceAccount |
50 |
IAMPartialPolicy |
150 |
Espaces de noms de Config Connector
Config Controller utilise par défaut le mode espace de noms de Config Connector. Les tableaux suivants montrent le nombre d'espaces de noms Config Connector dont vous pouvez disposer dans une seule instance Config Connector.
|
Nombre de nœuds |
Nombre d'espaces de noms Config Connector |
/18 |
64 |
600 |
/19 |
32 |
300 |
/20 (par défaut et recommandé) |
16 |
120 |
/21 |
8 |
60 |
Vérifier les cibles d'évolutivité
Vous pouvez utiliser les ressources suivantes pour vous aider à déterminer si vous avez atteint les cibles d'évolutivité.
Quotas d'API Google Cloud
Vous pouvez afficher vos quotas d'API Google Cloud dans la console Google Cloud. Lorsque certains quotas sont proches de leurs limites, envisagez de segmenter le quota d'API par projets Google Cloud. Pour en savoir plus sur la surveillance des métriques de quota et les alertes associées, consultez la page Surveillance des métriques de quota et alertes associées.
Utilisation de la mémoire Config Connector
Vous pouvez afficher l'utilisation de votre mémoire Config Connector dans le tableau de bord de surveillance GKE. Lorsque l'utilisation de la mémoire de Config Connector est proche de sa limite, envisagez de segmenter par espace de noms.
Effectuer un scaling à la hausse de Config Controller
Si vous avez atteint les cibles d'évolutivité, vous devriez envisager d'effectuer un scaling à la hausse de vos instances Config Controller. Cette section décrit différentes méthodes que vous pouvez utiliser pour effectuer un scaling à la hausse de vos instances Config Controller.
Segmentation par espace de noms
Si vous atteignez une cible d'évolutivité avec un seul espace de noms Config Connector, vous pouvez configurer Config Connector pour gérer les ressources dans vos espaces de noms.
Chaque espace de noms utilise ses propres comptes de service et charges de travail d'opérateur, ce qui permet à Config Connector de gérer vos ressources à grande échelle. Si vous utilisez une instance Config Connector pour gérer plusieurs projets Google Cloud, vous pouvez utiliser un espace de noms Config Connector pour gérer chaque projet Google Cloud.
Segmentation des quotas d'API par projets Google Cloud
Si vous atteignez une cible d'évolutivité après avoir atteint les quotas d'API Google Cloud, vous pouvez lier différents comptes de service IAM appartenant à différents projets Google Cloud à différents espaces de noms, où Config Connector est installée en mode espace de noms. Vous pouvez ensuite segmenter vos ressources en plusieurs projets.
Segmentation par instances Config Connector
Si vous atteignez une cible d'évolutivité avec plusieurs espaces de noms Config Connector, vous pouvez créer et utiliser plusieurs instances Config Controller. Avec plusieurs instances Config Controller, vous pouvez segmenter la gestion de configuration de vos ressources, par exemple selon différents environnements de développement, équipes d'applications ou répertoires GitOps dans votre organisation.
Autres exigences concernant l'évolutivité
Quotas d'API Google Cloud
Si vous avez rencontré des erreurs indiquant que vous avez dépassé le plafond d'utilisation des API, vous avez peut-être créé trop de ressources Config Connector du même genre dans le même projet. Ces ressources peuvent générer trop de requêtes API vers le même point de terminaison de l'API en raison de la stratégie de rapprochement dans Config Connector.
Pour résoudre ce problème, vous pouvez segmenter les quotas d'API par projet Google Cloud ou demander une augmentation de la limite des quotas.
Limites de GKE
Étant donné que Config Controller est basé sur GKE, vous devez tenir compte de certaines limites liées à GKE. Les sections suivantes traitent des considérations spécifiques liées à Config Controller. Pour en savoir plus sur les limites générales et les bonnes pratiques pour les clusters GKE volumineux, consultez la page Planifier des clusters GKE volumineux.
Limite du compte de service Kubernetes
Le nombre de comptes de service Kubernetes (KSA) créés dans un cluster GKE ne doit pas dépasser 3 000, car vous risquez de rencontrer un problème de plantage du pod gke-metadata-server
.
Chaque fois que vous ajoutez un espace de noms Config Connector, il crée également un compte de service Kubernetes.
Problèmes de performances du plan de contrôle GKE
Le plan de contrôle du cluster GKE peut rencontrer des problèmes de performances si une instance Config Controller comporte trop d'espaces de noms Config Connector. Vous devez limiter le nombre d'espaces de noms Config Connector à moins de 500 par cluster.
Chaque fois que vous ajoutez un espace de noms Config Connector, il crée également un pod contrôleur.
Étapes suivantes
- Découvrez comment segmenter Config Controller.
- Obtenez de l'aide pour résoudre les problèmes liés à Config Controller