Importa y exporta recursos Google Cloud existentes por nombre


En esta página, se describe el comando config-connector export y cómo usarlo para exportar recursos de Google Cloud a archivos YAML de Config Connector, que luego puedes importar a Config Connector.

Con config-connector export, puedes exportar un recurso Google Cloud existente. Cuando pasas el nombre completo de un recurso a config-connector export, config-connector genera un manifiesto YAML que puedes importar a Config Connector.

Si el Google Cloud recurso que deseas importar a Config Connector ya existe con el mismo nombre, Config Connector toma el control del recurso y lo administra con el YAML que proporcionas. Config Connector no arroja un error en esta situación, a menos que el YAML proporcionado contenga cambios en campos inmutables o tenga otros problemas en la configuración.

Antes de comenzar

Antes de comenzar, instala la herramienta de config-connector.

Ejemplo de exportación

En este ejemplo, crearás un PubSubTopic con Google Cloud CLI y, luego, lo importarás a Config Connector.

  1. Crea un tema llamado sample-topic:

    gcloud pubsub topics create sample-topic
    

    Recibirás la confirmación de que se creó el tema.

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

    En el resultado, PROJECT_ID se reemplaza por el proyecto de Google Cloud.

  2. Obtén el Google Cloud ID de recurso del tema y guárdalo en una variable de entorno con el siguiente comando:

    TOPIC_RESOURCE_ID=$(gcloud pubsub topics describe sample-topic --format "value(name)")
    
  3. Para identificar un recurso, config-connector export usa el nombre completo del recurso. Guarda el nombre del recurso del tema en una variable de entorno con el siguiente comando:

    TOPIC_RESOURCE_NAME="//pubsub.googleapis.com/${TOPIC_RESOURCE_ID}"
    
  4. Exporta el tema con config-connector export mediante la ejecución del siguiente comando:

    config-connector export ${TOPIC_RESOURCE_NAME}
    

    El resultado es un recurso Config Connector en formato YAML.

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

    En el resultado, PROJECT_ID se reemplaza por el proyecto de Google Cloud.

  5. Puedes pasar este recurso a Config Connector con kubectl apply -f -. Para pasar el recurso de forma directa, ejecuta el siguiente comando:

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

    Reemplaza CC_NAMESPACE con el espacio de nombres que administra Config Connector.

    Config Connector adquiere el recurso.

  6. Confirma que Config Connector administre el recurso con kubectl describe:

    kubectl describe pubsubtopic sample-topic --namespace CC_NAMESPACE
    

    Reemplaza CC_NAMESPACE con el espacio de nombres que administra Config Connector.

Recursos admitidos

Para imprimir la lista de recursos de la herramienta config-connector junto con los formatos de nombre de recurso, ejecuta el siguiente comando:

config-connector print-resources

Opciones de línea de comandos

El comando config-connector export tiene las siguientes opciones:

config-connector export RESOURCE_NAME \
    --output FILENAME \
    --oauth2-token TOKEN \
    --iam-format [policy | policymember | none] \
    --filter-deleted-iam-members [true | false] \
    --verbose
  • --output: Es una ruta de acceso opcional al archivo de salida que inhabilita el resultado estándar. Cuando es un archivo, el resultado contiene todo el resultado del comando. Cuando es un directorio, el directorio contiene un archivo nuevo para cada recurso del resultado.
  • --oauth2-token: Un token OAUTH2 como la identidad de Google Cloud . De forma predeterminada, config-connector usa las credenciales predeterminadas de Google Cloud CLI.
  • --iam-format: especifica el tipo de resultado de los recursos de IAM con tu exportación. Las opciones son policy (predeterminado), policymember o none.
  • --filter-deleted-iam-members: Especifica si se deben filtrar las principales de IAM borradas. Las opciones son true o false. El valor predeterminado es false.
  • --verbose: Habilita el registro detallado.

¿Qué sigue?