Vorhandene Google Cloud-Ressourcen importieren und exportieren

Auf dieser Seite wird der config-connector export-Befehl beschrieben und wie Sie damit Google Cloud-Ressourcen in Config Connector-YAML-Dateien exportieren, um diese in Config Connector zu importieren.

Mit config-connector export können Sie eine vorhandene Google Cloud-Ressource exportieren. Wenn Sie den vollständigen Namen einer Ressource an config-connector export übergeben, generiert config-connector ein YAML-Manifest, das Sie in Config Connector importieren können.

Wenn die Google Cloud-Ressource, die Sie in Config Connector importieren möchten, bereits mit demselben Namen vorhanden ist, übernimmt Config Connector die Kontrolle über die Ressource und verwaltet sie mit der von Ihnen angegebenen YAML-Datei. Config Connector gibt in dieser Situation keinen Fehler aus, es sei denn, die bereitgestellte YAML-Datei enthält Änderungen an unveränderlichen Feldern oder andere Probleme in der Konfiguration.

Hinweis

Installieren Sie das config-connector-Tool, bevor Sie beginnen.

Beispiel für den Export

In diesem Beispiel erstellen Sie ein PubSubTopic mit der Google Cloud-Befehlszeile und importieren es dann in Config Connector.

  1. Erstellen Sie ein Thema mit dem Namen sample-topic:

    gcloud pubsub topics create sample-topic
    

    Sie erhalten dann eine Bestätigung, dass das Thema erstellt wurde:

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

    In der Ausgabe wird PROJECT_ID durch Ihr Google Cloud-Projekt ersetzt.

  2. Rufen Sie die Google Cloud-Ressourcen-ID des Themas ab und speichern Sie sie mit dem folgenden Befehl in einer Umgebungsvariable:

    TOPIC_RESOURCE_ID=$(gcloud pubsub topics describe sample-topic --format "value(name)")
    
  3. Zum Identifizieren einer Ressource verwendet config-connector export den vollständigen Ressourcennamen. Speichern Sie den Ressourcennamen des Themas mit dem folgenden Befehl in einer Umgebungsvariablen:

    TOPIC_RESOURCE_NAME="//pubsub.googleapis.com/${TOPIC_RESOURCE_ID}"
    
  4. Exportieren Sie das Thema mit config-connector export, indem Sie den folgenden Befehl ausführen:

    config-connector export ${TOPIC_RESOURCE_NAME}
    

    Die Ausgabe ist eine Config Connector-Ressource im YAML-Format:

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

    In der Ausgabe wird PROJECT_ID durch Ihr Google Cloud-Projekt ersetzt.

  5. Sie können diese Ressource mit kubectl apply -f - an Config Connector übergeben. Führen Sie den folgenden Befehl aus, um die Ressource direkt zu übergeben:

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

    Ersetzen Sie CC_NAMESPACE durch den Namespace, von dem aus Config Connector Ressourcen verwaltet.

    Config Connector ruft die Ressource ab.

  6. Prüfen Sie, ob Config Connector die Ressource mit kubectl describe verwaltet:

    kubectl describe pubsubtopic sample-topic --namespace CC_NAMESPACE
    

    Ersetzen Sie CC_NAMESPACE durch den Namespace, von dem aus Config Connector Ressourcen verwaltet.

Unterstützte Ressourcen

Mit dem folgenden Befehl können Sie eine Liste der Ressourcen für das config-connector-Tool zusammen mit den Ressourcennamensformaten ausgeben:

config-connector print-resources

Befehlszeilen-Optionen

Der Befehl config-connector export bietet folgende Optionen:

config-connector export RESOURCE_NAME \
    --output FILENAME \
    --oauth2-token TOKEN \
    --iam-format [policy | policymember | none] \
    --filter-deleted-iam-members [true | false] \
    --verbose
  • --output ist ein optionaler Ausgabedateipfad, der die Standardausgabe deaktiviert. Bei einer Datei enthält das Ergebnis die gesamte Befehlsausgabe. Bei einem Verzeichnis enthält das Verzeichnis eine neue Datei für jede Ressource in der Ausgabe.
  • --oauth2-token: Ein OAUTH2-Token als Google Cloud-Identität. config-connector verwendet standardmäßig die Standardanmeldedaten für die Google Cloud-Befehlszeile.
  • --iam-format: Gibt den Typ der IAM-Ressourcen an, die bei Ihrem Export ausgegeben werden. Verfügbare Optionen sind policy (Standard), policymember oder none.
  • --filter-deleted-iam-members: Gibt an, ob gelöschte IAM-Hauptkonten herausgefiltert werden sollen. Optionen sind true oder false. Der Standardwert ist false.
  • --verbose: Aktiviert die ausführliche Protokollierung.

Nächste Schritte