Gestionar recursos con el campo resourceID


En esta página se explica cómo gestionar recursos con el campo resourceID.

Config Connector te permite especificar explícitamente el ID de recurso de un recurso de Google Cloud mediante el campo resourceID, que es inmutable pero opcional, para crear o adquirir el recurso. "Inmutable, pero opcional" significa que puedes especificar o no el campo resourceID, pero no puedes hacer ningún cambio en el valor del campo resourceID después de aplicar el manifiesto a tu clúster.

El campo resourceID aumenta la flexibilidad de la nomenclatura de un recurso que tiene un ID de recurso especificado por el usuario. Google CloudCon el campo resourceID de los recursos de Config Connector, puedes definir varios recursos de Config Connector del mismo tipo con el mismo nombre de recurso Google Cloud en diferentes proyectos, carpetas, organizaciones o recursos principales dentro del mismo espacio de nombres. El nombre de recurso Google Cloud tampoco está restringido por la convención de nomenclatura de un nombre de objeto de Kubernetes. Además, el campo resourceID permite adquirir un recurso que tiene un ID de recurso generado por el servicio. Google Cloud

Config Connector hace que el espacio de nombres sea el "propietario" de un recurso para evitar que otro propietario lo tome. Sin embargo, si usas el campo resourceID, puede haber varios recursos con el mismo nombre de recurso Google Cloud creados en el mismo espacio de nombres. Estos recursos crean conflictos que Config Connector no puede gestionar. Deberás resolver los conflictos manualmente.

Tipos de IDs de recursos

En Config Connector, los IDs de recursos pueden ser especificados por el usuario o generados por el servicio.

IDs de recurso especificados por el usuario
Es un ID de recurso que el usuario determina, especifica y transfiere antes de crear el recurso. Puede crear o adquirir un recurso que tenga un ID de recurso especificado por el usuario con el campo resourceID
.
IDs de recursos generados por el servicio
Es un ID de recurso que genera el servicio durante la creación del recurso. El usuario puede recuperarlo una vez que se haya creado el recurso correctamente. Puedes obtener un recurso que tenga un ID de recurso generado por el servicio con el campo resourceID. Deje el campo sin especificar si quiere crear un recurso que tenga un ID de recurso generado por el servicio. Consulta la lista de recursos con un ID de recurso generado por el servicio.

Especificar el campo resourceID

Puede especificar el campo resourceID en el spec del recurso.

El siguiente manifiesto describe cómo especificar el campo resourceID de un tema de Pub/Sub. El nombre del recurso de Config Connector es pubsub-topic-sample y el nombre del tema de Pub/Sub es pubsub-topic-id.

apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubTopic
metadata:
  name: pubsub-topic-sample
spec:
  resourceID: pubsub-topic-id

Crear un recurso con el campo resourceID

Crear un conjunto de datos de BigQuery

En este ejemplo, se crea un conjunto de datos de BigQuery con Config Connector mediante el campo resourceID. El valor del campo resourceID debe seguir la convención de nomenclatura del campo datasetId del conjunto de datos de BigQuery.

  1. Copia el siguiente contenido en un archivo llamado bigquery-dataset.yaml.

      apiVersion: bigquery.cnrm.cloud.google.com/v1beta1
      kind: BigQueryDataset
      metadata:
        name: bigquerydataset-sample-for-creation
      spec:
        resourceID: bigquerydataset_sample_with_resourceid
        defaultTableExpirationMs: 3600000
        description: "BigQuery Dataset Sample with the ResourceID Field"
        friendlyName: bigquerydataset-sample-with-resourceid
        location: US
    
  2. Aplica el archivo YAML a tu clúster.

    kubectl apply --namespace CC_NAMESPACE -f bigquery-dataset.yaml

    Sustituye CC_NAMESPACE por el espacio de nombres desde el que Config Connector gestiona los recursos.

  3. Usa kubectl describe para ver los detalles del conjunto de datos.

    kubectl describe --namespace CC_NAMESPACE bigquerydataset bigquerydataset-sample-for-creation

    Sustituye CC_NAMESPACE por el espacio de nombres desde el que Config Connector gestiona los recursos.

Obtener un recurso con el campo resourceID

Cuando gestionas un Google Cloud recurso con el campo resourceID, Config Connector adquiere el recurso si se cumplen las siguientes condiciones:

  • El recurso tiene un ID de recurso especificado por el usuario y los valores del manifiesto y el nombre del recurso coinciden con un recurso ya creado.
  • El recurso tiene un ID de recurso generado por el servicio.

Adquirir una carpeta

Para adquirir una carpeta mediante Config Connector con el campo resourceID, sigue estos pasos:

  1. Copia el siguiente contenido en un archivo llamado folder.yaml.

        apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1
        kind: Folder
        metadata:
          annotations:
            cnrm.cloud.google.com/organization-id: ORG_ID
            # Remove the deletion-policy annotation if it is safe to delete the
            # folder when the resource is deleted from your cluster.
            cnrm.cloud.google.com/deletion-policy: "abandon"
          name: folder-sample-for-acquisition
        spec:
          resourceID: ACQUIRED_FOLDER_ID
          displayName: ACQUIRED_FOLDER_DISPLAY_NAME
    

    Haz los cambios siguientes:

    • ORG_ID con el ID numérico de tu organización.
    • ACQUIRED_FOLDER_ID con el ID numérico de la carpeta que se va a adquirir.
    • ACQUIRED_FOLDER_DISPLAY_NAME con el nombre visible de la carpeta que se va a obtener.
  2. Aplica el archivo YAML a tu clúster.

    kubectl apply --namespace CC_NAMESPACE -f folder.yaml

    Sustituye CC_NAMESPACE por el espacio de nombres desde el que Config Connector gestiona los recursos.

  3. Usa kubectl describe para ver los detalles de la carpeta.

    kubectl describe --namespace CC_NAMESPACE folder folder-sample-for-acquisition

    Sustituye CC_NAMESPACE por el espacio de nombres desde el que Config Connector gestiona los recursos.

Siguientes pasos

Consulta la referencia de recursos para obtener información sobre los recursos que admite Config Connector.