Importazione ed esportazione delle risorse Google Cloud esistenti per nome


Questa pagina descrive il comando config-connector export e come utilizzarlo per esportare Google Cloud risorse in file YAML di Config Connector che puoi successivamente importare in Config Connector.

Con config-connector export puoi esportare una risorsa Google Cloud esistente. Quando passi un nome completo della risorsa a config-connector export, config-connector genera un manifest YAML che puoi importare in Config Connector.

Se la Google Cloud risorsa che vuoi importare in Config Connector esiste già con lo stesso nome, Config Connector prende il controllo della risorsa e la gestisce con il file YAML che fornisci. Config Connector non genera un errore in questa situazione, a meno che il file YAML fornito non contenga modifiche a campi immutabili o presenti altri problemi nella configurazione.

Prima di iniziare

Prima di iniziare, installa lo strumento config-connector.

Esempio di esportazione

In questo esempio, crei un argomento PubSub con Google Cloud CLI e poi lo importi in Config Connector.

  1. Crea un argomento denominato sample-topic:

    gcloud pubsub topics create sample-topic
    

    Riceverai una conferma della creazione dell'argomento.

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

    Nell'output, PROJECT_ID viene sostituito con il tuo progetto Google Cloud.

  2. Recupera l' Google Cloud ID risorsa dell'argomento e salvalo in una variabile di ambiente con il seguente comando:

    TOPIC_RESOURCE_ID=$(gcloud pubsub topics describe sample-topic --format "value(name)")
    
  3. Per identificare una risorsa, config-connector export utilizza il nome completo della risorsa. Salva il nome della risorsa dell'argomento in una variabile di ambiente con il seguente comando:

    TOPIC_RESOURCE_NAME="//pubsub.googleapis.com/${TOPIC_RESOURCE_ID}"
    
  4. Esporta l'argomento con config-connector export eseguendo il seguente comando:

    config-connector export ${TOPIC_RESOURCE_NAME}
    

    L'output è una risorsa Config Connector in formato YAML.

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

    Nell'output, PROJECT_ID viene sostituito con il tuo progetto Google Cloud.

  5. Puoi passare questa risorsa a Config Connector con kubectl apply -f -. Per passare la risorsa direttamente, esegui il seguente comando:

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

    Sostituisci CC_NAMESPACE con lo spazio dei nomi da cui Config Connector gestisce le risorse.

    Config Connector acquisisce la risorsa.

  6. Verifica che Config Connector gestisca la risorsa con kubectl describe:

    kubectl describe pubsubtopic sample-topic --namespace CC_NAMESPACE
    

    Sostituisci CC_NAMESPACE con lo spazio dei nomi da cui Config Connector gestisce le risorse.

Risorse supportate

Puoi stampare l'elenco delle risorse per lo strumento config-connector insieme ai formati dei nomi delle risorse eseguendo il seguente comando:

config-connector print-resources

Opzioni della riga di comando

Il comando config-connector export ha le seguenti opzioni:

config-connector export RESOURCE_NAME \
    --output FILENAME \
    --oauth2-token TOKEN \
    --iam-format [policy | policymember | none] \
    --filter-deleted-iam-members [true | false] \
    --verbose
  • --output: un percorso facoltativo del file di output che disattiva l'output standard. Se si tratta di un file, il risultato contiene tutto l'output del comando; se si tratta di una directory, la directory contiene un nuovo file per ogni risorsa nell'output.
  • --oauth2-token: un token OAUTH2 come Google Cloud identità. Per impostazione predefinita, config-connector utilizza le credenziali predefinite di Google Cloud CLI.
  • --iam-format: specifica il tipo di risorse IAM uscente con l'esportazione. Le opzioni sono policy (valore predefinito), policymember o none.
  • --filter-deleted-iam-members: specifica se escludere le entità IAM eliminate. Le opzioni sono true o false. Il valore predefinito è false.
  • --verbose: attiva il logging dettagliato.

Passaggi successivi