Como importar e exportar recursos do Google Cloud por nome

Esta página descreve o comando config-connector export e como usá-lo para exportar recursos do Google Cloud para arquivos YAML do Config Connector, que podem ser importados para o Config Connector.

Com config-connector export, é possível exportar um recurso atual do Google Cloud. Quando você transmite o nome completo de um recurso para config-connector export, config-connector gera um manifesto YAML que pode ser importado para o Config Connector.

Antes de começar

Antes de começar, instale a ferramenta config-connector.

Exemplo de exportação

Neste exemplo, você cria um PubSubTopic com a ferramenta de linha de comando gcloud e depois o importa para o Config Connector.

  1. Crie um tópico chamado sample-topic:

    gcloud pubsub topics create sample-topic
    

    Você recebe a confirmação de que o tópico foi criado.

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

    Na saída, PROJECT_ID é substituído pelo projeto do Google Cloud.

  2. Receba o ID do recurso do Google Cloud do tópico e salve-o em uma variável de ambiente com o seguinte comando:

    TOPIC_RESOURCE_ID=$(gcloud pubsub topics describe sample-topic --format "value(name)")
    
  3. Para identificar um recurso, config-connector export usa o nome completo do recurso. Salve o nome do recurso do tópico em uma variável de ambiente com o seguinte comando:

    TOPIC_RESOURCE_NAME="//pubsub.googleapis.com/${TOPIC_RESOURCE_ID}"
    
  4. Exporte o tópico com config-connector export executando o seguinte comando:

    config-connector export ${TOPIC_RESOURCE_NAME}
    

    A saída é um recurso do Config Connector no formato YAML.

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

    Na saída, PROJECT_ID é substituído pelo projeto do Google Cloud.

  5. Você pode transmitir esse recurso para o Config Connector com kubectl apply -f -. Para transmitir o recurso diretamente, execute o seguinte comando:

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

    Substitua CC_NAMESPACE pelo namespace de que o Config Connector gerencia os recursos.

    O Config Connector adquire o recurso.

  6. Confirme se o Config Connector está gerenciando o recurso com kubectl describe:

    kubectl describe pubsubtopic sample-topic --namespace CC_NAMESPACE
    

    Substitua CC_NAMESPACE pelo namespace de que o Config Connector gerencia os recursos.

Opções de linha de comando

O comando config-connector export tem as seguintes opções:

config-connector export RESOURCE_NAME \
    --output FILENAME \
    --oauth2-token TOKEN \
    --iam-format [policy | policymember | none] \
    --filter-deleted-iam-members [true | false] \
    --verbose
  • --output: um caminho de arquivo de saída opcional que desativa a saída padrão. Quando um arquivo é usado, o resultado contém toda a saída do comando. quando um diretório contém um novo arquivo para cada recurso na saída.
  • --oauth2-token: um token OAUTH2 como a identidade do Google Cloud. Por padrão, o config-connector usa as credenciais padrão do SDK do Cloud.
  • --iam-format: especifica o tipo de saída dos recursos do Cloud IAM com sua exportação. As opções são policy (padrão), policymember ou none.
  • --filter-deleted-iam-members: especifica se os membros do IAM excluídos serão filtrados. As opções são true ou false. O valor padrão é false.
  • --verbose: ativa a geração de registros detalhados.

A seguir