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

SQLInstance

450

SQLDatabase

2 250

SQLUser

2,500

StorageBucket

5 000

ContainerCluster

50

ContainerNodepool

200

IAMServiceAccount

2,500

IAMPartialPolicy

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

SQLInstance

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.

--cluster-ipv4-cidr-block

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