Importer et exporter des ressources Google Cloud existantes par nom


Cette page décrit la commande config-connector export et explique comment l'utiliser pour exporter des ressources Google Cloud vers des fichiers YAML Config Connector, que vous pourrez ensuite importer dans Config Connector.

Avec config-connector export, vous pouvez exporter une ressource Google Cloud existante. Lorsque vous transmettez le nom complet d'une ressource à config-connector export, config-connector génère un fichier manifeste YAML que vous pouvez importer dans Config Connector.

Si la ressource Google Cloud que vous souhaitez importer dans Config Connector existe déjà avec le même nom, Config Connector prend le contrôle de la ressource et la gère avec le fichier YAML que vous fournissez. Config Connector ne génère pas d'erreur dans cette situation, sauf si le fichier YAML fourni contient des modifications de champs immuables ou d'autres problèmes dans la configuration.

Avant de commencer

Avant de commencer, installez l'outil config-connector.

Exemple d'exportation

Dans cet exemple, vous créez un sujet PubSub-Topic avec la Google Cloud CLI, puis vous et importez-le dans Config Connector.

  1. Créez un sujet nommé sample-topic :

    gcloud pubsub topics create sample-topic
    

    Une confirmation indiquant que le sujet a été créé s'affiche.

    Created topic [projects/PROJECT_ID/topics/sample-topic].
    

    Dans le résultat, PROJECT_ID est remplacé par votre projet Google Cloud.

  2. Récupérez l'ID de la ressource Google Cloud du sujet et enregistrez-le dans une variable d'environnement à l'aide de la commande suivante :

    TOPIC_RESOURCE_ID=$(gcloud pubsub topics describe sample-topic --format "value(name)")
    
  3. Pour identifier une ressource, config-connector export utilise le nom complet de la ressource. Enregistrez le nom de ressource du sujet dans une variable d'environnement à l'aide de la commande suivante :

    TOPIC_RESOURCE_NAME="//pubsub.googleapis.com/${TOPIC_RESOURCE_ID}"
    
  4. Exportez le sujet avec config-connector export en exécutant la commande suivante :

    config-connector export ${TOPIC_RESOURCE_NAME}
    

    Le résultat est une ressource Config Connector au format YAML.

    ---
    apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
    kind: PubSubTopic
    metadata:
      annotations:
        cnrm.cloud.google.com/project-id: PROJECT_ID
      name: sample-topic
    ...
    

    Dans le résultat, PROJECT_ID est remplacé par votre projet Google Cloud.

  5. Vous pouvez transmettre cette ressource à Config Connector à l'aide de la commande kubectl apply -f -. Pour transmettre la ressource directement, exécutez la commande suivante :

    config-connector export ${TOPIC_RESOURCE_NAME} | kubectl apply -f -  --namespace CC_NAMESPACE
    

    Remplacez CC_NAMESPACE par l'espace de noms à partir duquel Config Connector gère les ressources.

    Config Connector acquiert la ressource.

  6. Vérifiez que Config Connector gère la ressource à l'aide de la commande kubectl describe suivante :

    kubectl describe pubsubtopic sample-topic --namespace CC_NAMESPACE
    

    Remplacez CC_NAMESPACE par l'espace de noms à partir duquel Config Connector gère les ressources.

Ressources compatibles

Vous pouvez imprimer la liste des ressources de l'outil config-connector ainsi que les formats de nom de ressource en exécutant la commande suivante:

config-connector print-resources

Options de ligne de commande

La commande config-connector export comporte les options suivantes :

config-connector export RESOURCE_NAME \
    --output FILENAME \
    --oauth2-token TOKEN \
    --iam-format [policy | policymember | none] \
    --filter-deleted-iam-members [true | false] \
    --verbose
  • --output : chemin d'accès au fichier de sortie facultatif qui désactive le résultat standard. Quand un fichier contient l'intégralité du résultat de la commande ou quand un répertoire contient un nouveau fichier pour chaque ressource du résultat.
  • --oauth2-token : un jeton OAUTH2 en tant qu'identité Google Cloud. Par défaut, config-connector utilise le Identifiants par défaut de la Google Cloud CLI.
  • --iam-format: spécifie le type de sortie des ressources IAM avec l'exportation. Les options sont policy (par défaut), policymember ou none.
  • --filter-deleted-iam-members : indique s'il faut filtrer les comptes principaux IAM supprimés. Les options sont true ou false. La valeur par défaut est false.
  • --verbose : active la journalisation détaillée.

Étape suivante