Importazione ed esportazione delle risorse Google Cloud esistenti per nome

Questa pagina descrive il comando config-connector export e come utilizzarlo per esportare le risorse Google Cloud in file YAML Config Connector, che puoi poi 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 risorsa Google Cloud che vuoi importare in Config Connector esiste già con lo stesso nome, Config Connector assume il controllo della risorsa e la gestisce con il file YAML fornito. Config Connector non genera un errore in questa situazione, a meno che il file YAML fornito non contenga modifiche ai campi immutabili o non presenti altri problemi nella configurazione.

Prima di iniziare

Prima di iniziare, installa lo strumento config-connector.

Esempio di esportazione

In questo esempio crei un PubSubTopic con l'interfaccia a riga di comando di Google Cloud e poi importalo in Config Connector.

  1. Crea un argomento denominato sample-topic:

    gcloud pubsub topics create sample-topic
    

    Riceverai la conferma che l'argomento è stato creato.

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

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

  2. Recupera l'ID risorsa di Google Cloud 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 comando seguente:

    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 trasferire questa risorsa in Config Connector con kubectl apply -f -. Per passare direttamente la risorsa, esegui il comando seguente:

    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. Conferma 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 del nome della risorsa eseguendo questo comando:

config-connector print-resources

Opzioni della riga di comando

Il comando config-connector export prevede 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. Quando un file contiene il risultato dell'output comando, se appare una directory, la directory contiene un nuovo file per ogni risorsa nell'output.
  • --oauth2-token: un token OAUTH2 come identità Google Cloud. Per impostazione predefinita, config-connector utilizza le credenziali predefinite dell'interfaccia a riga di comando di Google.
  • --iam-format: specifica il tipo di output delle risorse IAM con l'esportazione. Le opzioni sono policy (impostazione predefinita), policymember o none.
  • --filter-deleted-iam-members: specifica se filtrare le entità IAM eliminate. Le opzioni sono true o false. Il valore predefinito è false.
  • --verbose: attiva il logging dettagliato.

Passaggi successivi