Consignes concernant l'évolutivité de Config Controller
Cette page fournit des recommandations pour vous aider à planifier votre architecture de gestion de la configuration sur les instances Config Controller, et à faire en sorte que la création et la gestion de vos ressources Google Cloud respectent les objectifs de niveau de service (SLO).
Cibles d'évolutivité
Les objectifs d'évolutivité de Config Controller sont des groupes de ressources testés par Google et à l'aide de l'outil GitOps de Config Sync. Vous pouvez utiliser ces cibles pour vous aider à planifier votre architecture de gestion des configurations.
Ces objectifs ne sont pas des limites strictes. L'étirement de la quantité d'un type de ressource ne rend pas nécessairement l'instance Config Controller indisponible. Toutefois, cela peut réduire la quantité totale d'autres genres de ressources dans la même instance Config Controller que vous pouvez déployer.
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 |
Plusieurs espaces de noms
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 de ressources suivant 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 Config Connector
Config Controller utilise le mode d'espace de noms Config Connector par défaut. Les tableaux suivants présentent un exemple du nombre d'espaces de noms Config Connector que vous pouvez avoir dans une seule instance Config Connector.
|
Nombre de nœuds |
Nombre d'espaces de noms Config Connector |
/18 |
64 |
600 |
/19 |
32 |
300 |
/20 (valeur par défaut et recommandée) |
16 |
120 |
/21 |
8 |
60 |
Vérifier les cibles d'évolutivité
Vous pouvez utiliser les ressources suivantes pour déterminer si vous avez atteint les objectifs 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 partitionner les quotas d'API par projets Google Cloud. Pour en savoir plus sur la surveillance et les alertes sur les métriques de quota, consultez Surveiller les métriques de quota et générer des alertes les concernant.
Utilisation de la mémoire par Config Connector
Vous pouvez afficher votre utilisation de mémoire Config Connector dans le tableau de bord de surveillance GKE. Lorsque l'utilisation de mémoire de Config Connector est proche de sa limite, envisagez une segmentation par espace de noms.
Augmenter la capacité de Config Controller
Si vous avez atteint vos objectifs d'évolutivité, vous devez envisager d'effectuer un scaling à la hausse de vos instances Config Controller. Cette section décrit les différentes méthodes que vous pouvez utiliser pour effectuer le 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 de 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 un objectif d'évolutivité après avoir atteint les quotas de l'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é en mode espace de noms. Vous pouvez ensuite répartir vos ressources en différents 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 la configuration de vos ressources, par exemple en fonction des environnements de développement, des équipes d'applications ou des répertoires GitOps de votre organisation.
Autres considérations liées à l'évolutivité
Quotas de l'API Google Cloud
Si vous rencontrez des erreurs indiquant que vous avez dépassé la limite de quota d'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 d'API en raison de la stratégie de rapprochement de Config Connector.
Pour résoudre ce problème, vous pouvez partitionner le quota d'API par projet Google Cloud ou demander une limite de quota plus élevée.
Limites de GKE
Étant donné que Config Controller repose sur GKE, certaines limitations de GKE doivent être prises en compte. Les sections suivantes traitent de considérations spécifiques liées à Config Controller. Pour en savoir plus sur les limites générales et les bonnes pratiques pour les grands clusters GKE, consultez la section Planifier pour les clusters GKE volumineux.
Limite des comptes de service Kubernetes
Le nombre de comptes de service Kubernetes (KSA) créés dans un seul cluster GKE ne doit pas dépasser 3 000,car vous pourriez rencontrer un problème de plantage du pod gke-metadata-server
.
Chaque fois que vous ajoutez un espace de noms Config Connector, un compte de service Kubernetes est également créé.
Problèmes de performances du plan de contrôle GKE
Le plan de contrôle du cluster GKE peut présenter 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, un pod de contrôleur est également créé.
Étapes suivantes
- Découvrez comment segmenter Config Controller.
- Obtenir de l'aide pour résoudre les problèmes liés à Config Controller