Installer Config Connector

Config Connector est un module complémentaire de Kubernetes qui vous permet de gérer vos ressources Google Cloud via la configuration de Kubernetes. Avec Anthos Config Management, les utilisateurs d'Anthos peuvent installer et désinstaller Config Connector automatiquement.

Avant de commencer

  • Vous devez disposer des droits d'accès à Anthos pour installer Config Connector à l'aide d'Anthos Config Management. Si vous ne disposez pas des droits d'accès à Anthos, vous devez utiliser l'une des méthodes d'installation alternatives pour Config Connector au lieu de suivre les instructions de cette rubrique.

  • Vous devez mettre à niveau Anthos Config Management vers la version 1.1.0 ou supérieure avant de suivre ces instructions.

  • Vous devez disposer d'un cluster sur lequel Config Connector n'est pas installé.

Installer Config Connector à l'aide d'Anthos Config Management

Pour installer Config Connector à l'aide d'Anthos Config Management, vous devez configurer Anthos Config Management pour installer Config Connector sur l'un de vos clusters, puis configurer le cnrm-system compte de service.

Configurer Anthos Config Management

  1. Définissez la valeur de spec.configConnector.enabled sur true dans le fichier de configuration Anthos Config Management :

    # config-management.yaml
    
    apiVersion: configmanagement.gke.io/v1
    kind: ConfigManagement
    metadata:
      name: config-management
    spec:
      # Set to true to install and enable Config Connector
      configConnector:
        enabled: true
    
      # ...other fields...
      ```
    
  2. Appliquez la configuration à l'aide de kubectl apply.

    kubectl apply -f config-management.yaml
    

Le pod est créé mais ne s'exécute que lorsque vous configurez le compte de service cnrm-system pour gérer les ressources Google Cloud dans votre projet.

L'application de la configuration crée également l'espace de noms cnrm-system que vous pouvez ensuite annoter.

Configurer le compte de service cnrm-system

Pour qu'Anthos Config Management puisse créer des ressources Google Cloud, Config Connector doit auparavant s'authentifier à l'aide d'un compte de service Cloud Identity and Access Management.

  1. Créez le compte de service cnrm-system :

    gcloud iam service-accounts create cnrm-system --project [PROJECT_ID]
    
  2. Le compte de service est associé à une adresse e-mail générée automatiquement. Pour obtenir cette adresse e-mail, utilisez la commande suivante :

    gcloud iam service-accounts list | grep cnrm-system
    

    Utilisez cette adresse e-mail là où vous voyez [SERVICE_ACCOUNT_EMAIL] dans les commandes suivantes.

  3. Accordez les rôles et les autorisations de compte de service cnrm-system requis pour configurer les ressources Google Cloud spécifiques dont vous avez besoin. Cet exemple accorde le rôle roles/owner :

    gcloud projects add-iam-policy-binding [PROJECT_ID] \
     --member "serviceAccount:[SERVICE_ACCOUNT_EMAIL]" \
     --role "roles/owner"
    
  4. Créez une clé pour le compte de service, stockée localement en tant que key.json :

    gcloud iam service-accounts keys create \
     --iam-account "[SERVICE_ACCOUNT_EMAIL]" \
     ./key.json
    
  5. Injectez la clé dans l'espace de noms cnrm-system du cluster :

    kubectl create secret generic gcp-key \
     --from-file ./key.json \
     --namespace cnrm-system
    
  6. Supprimez la copie locale de la clé, car elle contient des données sensibles :

    rm ./key.json
    

Config Connector peut désormais gérer les ressources Google Cloud en synchronisant les configurations stockées dans votre dépôt avec les clusters enregistrés dans Anthos Config Management.

Spécifier l'emplacement où créer les ressources

Avant de créer des ressources avec Anthos Config Management, 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 l'espace de noms. Pour en savoir plus, consultez la section Organiser les ressources.

Vous pouvez créer des ressources dans un projet, un dossier ou une organisation, de la même façon que vous organiseriez les ressources à l'aide de Google Cloud.

Projet

Pour créer des ressources dans un projet donné, exécutez la commande suivante en remplaçant [NAMESPACE_NAME] par le nom de votre espace de noms et [PROJECT_ID] par l'ID de votre projet Google Cloud :

kubectl annotate namespace \
[NAMESPACE_NAME] cnrm.cloud.google.com/project-id=[PROJECT_ID]

Dossier

Pour créer des ressources dans un dossier spécifique, exécutez la commande suivante en remplaçant [NAMESPACE_NAME] par le nom de votre espace de noms et [FOLDER_ID] par l'ID de votre dossier Google Cloud :

kubectl annotate namespace \
[NAMESPACE_NAME] cnrm.cloud.google.com/folder-id=[FOLDER_ID]

Organisation

Pour créer des ressources dans une organisation spécifique, exécutez la commande suivante en remplaçant [NAMESPACE_NAME] par le nom de votre espace de noms et [ORGANIZATION_ID] par l'ID de votre organisation Google Cloud :

kubectl annotate namespace \
[NAMESPACE_NAME] cnrm.cloud.google.com/organization-id=[ORGANIZATION_ID]

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 projets Google Cloud.

Vérifier l'installation

Si Config Connector est installé correctement, son pod et son objet CRD existent dans le cluster.

  1. Vérifiez que le pod de Config Connector est en cours d'exécution :

    kubectl wait -n cnrm-system \
     --for=condition=Initialized pod \
     cnrm-controller-manager-0
    

    Si Config Connector est installé correctement, le résultat ressemble à ce qui suit :

    pod/cnrm-controller-manager-0 condition met

  2. Vérifiez que les objets CRD pour chaque type de ressource Google Cloud pris en charge sont installés dans le cluster :

    kubectl get crds | grep cnrm.cloud.google.com
    

    Si Config Connector est installé correctement, la commande répertorie les ressources se terminant par .cnrm.cloud.google.com, telles que bigquerydatasets.bigquery.cnrm.cloud.google.com.

Désinstaller Config Connector

Pour désactiver et désinstaller Config Connector, modifiez le fichier de configuration pour Anthos Config Management et définissez la valeur de spec.configConnector.enabled sur "false".

Le pod de Config Connector est arrêté et supprimé et les objets CRD pour chaque type de ressource Google Cloud sont supprimés. Les ressources Google Cloud existantes ne sont pas modifiées.

Étape suivante