Installer avec le module complémentaire GKE
Cette page explique comment installer Config Connector sur un cluster Google Kubernetes Engine (GKE) à l'aide du module complémentaire Config Connector.
Pour en savoir plus sur chaque option d'installation, ainsi que sur ses avantages et ses inconvénients, consultez la section Choisir un type d'installation.
Avant de commencer
Avant de commencer, effectuez les tâches suivantes :
- Activez l'API Google Kubernetes Engine. Activer l'API Google Kubernetes Engine
- Si vous souhaitez utiliser la Google Cloud CLI pour cette tâche, installez et initialisez la gcloud CLI. Si vous avez déjà installé la gcloud CLI, obtenez la dernière version en exécutant la commande
gcloud components update. Il est possible que les versions antérieures de la gcloud CLI ne permettent pas d'exécuter les commandes de ce document.
Sélectionnez ou créez un Google Cloud projet dans lequel installer Config Connector.
Si vous avez déjà installé Config Connector manuellement, désinstallez-le avant d'installer le module complémentaire Config Connector :
Installer le module complémentaire Config Connector
Pour utiliser le module complémentaire Config Connector, vous devez créer un nouveau cluster GKE ou l'activer sur un cluster existant. Après avoir installé le module complémentaire Config Connector, vous devez le configurer avec vos comptes de service Google et vos espaces de noms.
Exigences
Le module complémentaire Config Connector remplit les conditions suivantes :
Vous devez utiliser une des versions GKE suivantes :
- 1.15.11-gke.5 et versions ultérieures
- 1.16.8-gke.8 et versions ultérieures
- 1.17.4-gke.5 et versions ultérieures
Vous devez activer un pool d'identités de charge de travail et Kubernetes Engine Monitoring sur les clusters sur lesquels vous activez Config Connector.
Configurer un cluster GKE
Vous pouvez utiliser le module complémentaire Config Connector sur un cluster nouveau ou existant.
Créer un cluster avec le module complémentaire Config Connector activé
Vous pouvez créer un cluster GKE à l'aide de gcloud CLI ou de la Google Cloud console.
gcloud
Pour créer un cluster avec Google Cloud CLI, exécutez la commande suivante :
gcloud container clusters create CLUSTER_NAME \
--release-channel CHANNEL \
--addons ConfigConnector \
--workload-pool=PROJECT_ID.svc.id.goog \
--logging=SYSTEM \
--monitoring=SYSTEM
Remplacez l'élément suivant :
- CLUSTER_NAME par le nom de votre cluster GKE
- CHANNEL par un
canal de publication GKE,
rapidetregularsont compatibles. - PROJECT_ID avec l'ID de votre Google Cloud projet.
Google Cloud Console
Pour créer un cluster avec la Google Cloud console, procédez comme suit :
Accédez au menu "Google Kubernetes Engine" de la console. Google Cloud
Cliquez sur Create (Créer). La page Créer un cluster Kubernetes s'affiche.
Spécifiez le nom du cluster.
Choisissez une version maître compatible.
Configurez le reste de votre cluster comme vous le souhaitez.
Dans le volet de navigation, cliquez sur Sécurité sous Cluster.
Cochez la case Activer Workload Identity.
Dans le volet de navigation de gauche, sous Cluster, cliquez sur Fonctionnalités.
Cochez la case Activer Config Connector.
Cliquez sur Create (Créer).
Une fois le cluster créé, passez à la section Créer une identité.
Activer le module complémentaire Config Connector sur un cluster existant
Vous pouvez activer le module complémentaire Config Connector sur un cluster GKE existant
avec gcloud ou avec la Google Cloud console.
Prérequis
L'activation du module complémentaire Config Connector sur un cluster existant a les prérequis suivants :
- Vous avez besoin d'un cluster qui répond aux exigences du module complémentaire Config Connector.
Configurez Workload Identity Federation for GKE sur le cluster sur lequel vous souhaitez installer Config Connector.
Pour activer Workload Identity Federation for GKE pour un pool de nœuds, utilisez l'outil de ligne de commande gcloud :
gcloud container node-pools update NODE_POOL \
--workload-metadata=GKE_METADATA \
--cluster CLUSTER_NAME
Remplacez l'élément suivant :
- NODE_POOL par le nom de votre pool de nœuds
- Remplacez CLUSTER_NAME par le nom de votre cluster.
Activer le module complémentaire Config Connector
Vous pouvez activer le module complémentaire Config Connector dans un cluster GKE existant à l'aide de Google Cloud CLI ou de la Google Cloud console.
gcloud
Pour activer le module complémentaire Config Connector dans un cluster GKE existant, utilisez Google Cloud CLI :
gcloud container clusters update CLUSTER_NAME \
--update-addons ConfigConnector=ENABLED
Remplacez CLUSTER_NAME par le nom de votre cluster GKE.
Google Cloud Console
Accédez au menu "Google Kubernetes Engine" de la console. Google Cloud
Sélectionnez le cluster sur lequel vous souhaitez installer Config Connector. La page Détails du cluster s'affiche.
Sous la section Fonctionnalités, localisez la ligne Config Connector, puis cliquez sur Modifier.
Cochez la case Activer Config Connector , puis cliquez sur Enregistrer les modifications pour mettre à jour votre cluster.
Créer une identité
Config Connector crée et gère les Google Cloud ressources en s'authentifiant avec un compte de service de Identity and Access Management (IAM) et en utilisant Workload Identity Federation for GKE pour lier des comptes de service IAM aux comptes de service Kubernetes.
Pour créer l'identité, procédez comme suit :
Créez un compte de service IAM. Si vous souhaitez utiliser un compte de service existant, vous pouvez l'utiliser et ignorer cette étape :
gcloud iam service-accounts create SERVICE_ACCOUNT_NAMERemplacez SERVICE_ACCOUNT_NAME par un nom pour votre compte de service.
Pour en savoir plus sur la création de comptes de service, consultez la page Créer et gérer des comptes de service.
Accordez au compte de service IAM des autorisations avec privilèges élevés sur votre projet :
gcloud projects add-iam-policy-binding PROJECT_ID \ --member="serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" \ --role="roles/editor"Remplacez PROJECT_ID par l'ID du projet.
Créez une liaison de stratégie IAM entre le compte de service IAM et le compte de service Kubernetes prédéfini exécuté par Config Connector :
gcloud iam service-accounts add-iam-policy-binding \ SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com \ --member="serviceAccount:PROJECT_ID.svc.id.goog[cnrm-system/cnrm-controller-manager]" \ --role="roles/iam.workloadIdentityUser"
Configurer Config Connector
Pour terminer l'installation, créez un fichier de configuration pour
la ConfigConnector
CustomResource,
puis appliquez-le à l'aide de la commande kubectl apply. L'opérateur Config Connector installe
Google Cloud les CRD de ressources et les composants Config Connector dans votre cluster.
Pour configurer l'opérateur en mode cluster, procédez comme suit :
-
Copiez le fichier YAML suivant dans un fichier nommé
configconnector.yaml: Remplacez l'élément suivant :# configconnector.yaml apiVersion: core.cnrm.cloud.google.com/v1beta1 kind: ConfigConnector metadata: # the name is restricted to ensure that there is only one # ConfigConnector resource installed in your cluster name: configconnector.core.cnrm.cloud.google.com spec: mode: cluster googleServiceAccount: "SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com" # Setting `stateIntoSpec` to `Absent` is recommended. It means setting `cnrm.cloud.google.com/state-into-spec` # annotation to `absent` for all Config Connector resources created in the cluster in the future. # It prevents Config Connector from populating unspecified fields into the spec. stateIntoSpec: Absent
SERVICE_ACCOUNT_NAMEpar le nom de votre compte de service.PROJECT_IDavec l'ID de votre projet.
-
Appliquez la configuration à votre cluster à l'aide de la commande
kubectl apply:kubectl apply -f configconnector.yaml
Spécifier l'emplacement où créer les ressources
Config Connector peut organiser les ressources par projet, dossier ou organisation, de la même manière que vous organiseriez les ressources à l'aide de Google Cloud.
Avant de créer des ressources à l'aide de Config Connector, vous devez configurer où créer vos ressources. Pour déterminer où créer la ressource, Config Connector utilise une annotation sur la configuration de la ressource ou un espace de noms existant. Pour en savoir plus, consultez la section Organiser les ressources.
Si vous ne disposez pas d'un espace de noms à cette fin, créez-en un aveckubectl.
kubectl create namespace NAMESPACE
Remplacez NAMESPACE par le nom de votre espace de noms. Par exemple, config-connector.
Sélectionnez un onglet pour choisir où vous souhaitez que Config Connector crée des ressources.
Projet
Pour créer des ressources dans un projet donné, exécutez la commande suivante :
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/project-id=PROJECT_ID
Remplacez l'élément suivant :
NAMESPACEpar le nom de votre espace de noms.PROJECT_IDavec l'ID de votre Google Cloud projet.
Dossier
Pour créer des ressources dans un dossier donné, exécutez la commande suivante :
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/folder-id=FOLDER_ID
Remplacez l'élément suivant :
NAMESPACEpar le nom de votre espace de noms.FOLDER_IDpar l'ID de votre Google Cloud dossier.
Organisation
Pour créer des ressources dans une organisation donnée, exécutez la commande suivante :
kubectl annotate namespace \ NAMESPACE cnrm.cloud.google.com/organization-id=ORGANIZATION_ID
Remplacez l'élément suivant :
NAMESPACEpar le nom de votre espace de noms.ORGANIZATION_IDpar votre Google Cloud ID d'organisation
Lorsque vous annotez votre espace de noms, Config Connector crée des ressources dans le projet, le dossier ou l'organisation correspondant. Pour en savoir plus sur la façon dont Config Connector utilise les espaces de noms Kubernetes, consultez la section Espaces de noms Kubernetes et Google Cloud projets.
Vérifier votre installation
Config Connector exécute tous ses composants dans un espace de noms nommé cnrm-system.
Vous pouvez vérifier si les pods sont prêts en exécutant la commande suivante :
kubectl wait -n cnrm-system \
--for=condition=Ready pod --all
Si Config Connector est installé correctement, le résultat ressemble à ce qui suit :
pod/cnrm-controller-manager-0 condition met
Mettre à niveau Config Connector
Les mises à niveau du module complémentaire Config Connector de votre cluster sont gérées par Google Cloud.
Les ressources de votre cluster sont conservées chaque fois qu'une mise à niveau est effectuée.
Découvrez commentgère les mises à niveau du module complémentaire Config Connector ou passez directement à la section Comment obtenir la dernière version de Config Connector. Google Cloud
Comment Google Cloud gère les mises à niveau du module complémentaire Config Connector
La version de Config Connector qu'un cluster GKE reçoit dépend entièrement de la version mineure de GKE du cluster. Exemple :
| Version mineure de GKE | Version de Config Connector |
|---|---|
| 1.20 | 1.69.0 |
| 1.21 | 1.69.0 |
| 1.22 | 1.71.0 |
| 1.23 | 1.82.0 |
| 1.24 | 1.89.0 |
Au fur et à mesure que les versions sont éligibles, Google Cloud re-mappe les dernières versions mineures de GKE à une version de Config Connector nouvellement publiée. Cette opération est effectuée pour toutes les versions mineures de GKE suffisamment récentes pour ne pas être disponibles sur les canaux de publication standard ou stable.
Étant donné que la version de Config Connector qu'un cluster reçoit dépend de la version mineure de GKE du cluster, il existe deux cas dans lesquels le module complémentaire Config Connector d'un cluster est automatiquement mis à niveau par Google Cloud:
Le cluster est mis à niveau vers une nouvelle version mineure de GKE qui est mappée à une version plus récente de Config Connector.
Le cluster utilise une version mineure de GKE suffisamment récente pour ne pas être disponible sur les canaux de publication standard ou stable, et Google Cloud re-mappe cette version mineure de GKE à une nouvelle version de Config Connector.
Lorsqu' Google Cloud re-mappe une version mineure de GKE et met à niveau les clusters existants vers une nouvelle version de Config Connector, on dit qu'il "déploie une nouvelle version de Config Connector" pour cette version mineure de GKE.
Google Cloud ne déploie pas de nouvelles versions de Config Connector sur les versions mineures de GKE suffisamment anciennes pour être disponibles sur les canaux de publication standard ou stable pour des raisons de stabilité, sauf en cas d'urgence où un problème généralisé a été détecté.
Comment obtenir la dernière version de Config Connector
La version de Config Connector installée via le module complémentaire Config Connector est souvent en retard de 12 mois ou plus. Si vous avez besoin de la dernière version de Config Connector, nous vous recommandons de passer à Config Controller ou d'installer Config Connector manuellement et d'effectuer vous-même les mises à niveau. Les instructions de migration pour chaque option sont les suivantes :
Pour passer à Config Controller, suivez les instructions de migration de Config Controller afin de migrer vos ressources Config Connector existantes vers une instance Config Controller.
Pour installer Config Connector manuellement, suivez les instructions pour passer du module complémentaire Config Connector à l'installation manuelle.
Désinstaller Config Connector
Pour désinstaller Config Connector, procédez comme suit :
Utilisez
kubectl deletepour supprimer les CRD Config Connector et les composants du contrôleur :kubectl delete ConfigConnector configconnector.core.cnrm.cloud.google.com --wait=trueDésactivez le module complémentaire Config Connector dans votre cluster à l'aide de gcloud CLI ou de la Google Cloud console :
gcloud
Pour désactiver le module complémentaire Config Connector, exécutez la commande
gcloudsuivante :gcloud container clusters update CLUSTER_NAME --update-addons ConfigConnector=DISABLEDRemplacez CLUSTER_NAME par le nom du cluster dans lequel le module complémentaire Config Connector est installé.
console Cloud
Pour désactiver le module complémentaire Config Connector à l'aide de la Google Cloud console, procédez comme suit.
Dans la Google Cloud console, accédez à la page Clusters de Google Kubernetes Engine, puis sélectionnez le cluster que vous souhaitez modifier.
Cliquez sur Modifier. L'écran permettant de modifier le cluster s'affiche.
Cliquez sur Modules complémentaires.
Sélectionnez Config Connector, puis Désactivé.
Cliquez sur Enregistrer pour mettre à jour le cluster.
Étape suivante
- Premiers pas avec Config Connector
- Découvrir comment résoudre les problèmes de Config Connector