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).
Cette page est destinée aux administrateurs, aux architectes et aux opérateurs qui gèrent le cycle de vie de l'infrastructure technologique sous-jacente, et planifient les besoins en termes de capacité et d'infrastructure. Pour en savoir plus sur les rôles courants et les exemples de tâches que nous citons dans le contenu Google Cloud, consultez la section Rôles utilisateur et tâches courantes de l'utilisateur dans GKE Enterprise.
Utiliser le mode espace de noms
Nous vous recommandons d'utiliser Config Connector en mode espace de noms, car il peut être plus facile de gérer un grand nombre de ressources. Vous pouvez configurer chaque espace de noms pour qu'il corresponde à un seul espace de noms, ce qui peut vous aider à gérer les quotas et les configurations, car les ressources ont des quotas de lecture et d'écriture par projet. À partir de la version 1.119.0, vous pouvez augmenter les limites de taux de rapprochement par espace de noms. En augmentant les limites de débit, vous pouvez autoriser la réconciliation de plus de 10 000 ressources par espace de noms sur une période de 10 minutes. Config Connector et Config Sync sont compatibles avec le mode espace de noms, qui permet de mapper chaque espace de noms à un seul projet Google Cloud.
Cibles d'évolutivité
Le tableau suivant représente les valeurs que nous testons régulièrement. Nous savons que Config Connector peut gérer des nombres plus élevés. Nous avons montré que 30 000 ressources peuvent être gérées dans un seul espace de noms. Toutefois, vous devez effectuer quelques réglages pour que cela fonctionne. Nous vous recommandons de consulter le mode Namespaced pour obtenir des suggestions concernant ces modifications.
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