Administra recursos con el campo resourceID


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

Config Connector te permite especificar de forma explícita el ID de recurso de un recurso de Google Cloud mediante el campo resourceID inmutable, pero opcional, para crear o adquirir el recurso. “Inmutable, pero opcional” significa que puedes optar por especificar o no especificar el campo resourceID, pero no puedes cambiar el valor del campo resourceID después de aplicar el manifiesto a tu clúster.

El campo resourceID aumenta la flexibilidad para nombrar un recurso de Google Cloud que tiene un ID de recurso especificado por el usuario. Con el campo resourceID en tus recursos de Config Connector, puedes definir varios recursos de Config Connector del mismo tipo con el mismo nombre de recurso de Google Cloud en diferentes proyectos, carpetas, organizaciones o recursos superiores dentro del mismo espacio de nombres. El nombre del recurso de Google Cloud es tampoco está restringida por las convención de nomenclatura de un nombre de objeto de Kubernetes. Además, el campo resourceID habilita la adquisición de un recurso de Google Cloud que tiene un ID de recurso generado por el servicio.

Config Connector establece el espacio de nombres como 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 de Google Cloud creados en el mismo espacio de nombres. Estos recursos crean conflictos que Config Connector no puede administrar. Debes resolver manualmente cualquier conflicto.

Tipos de ID de recursos

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

ID de recursos especificados por el usuario
El ID de recurso que se determina, especifica y pasa por el usuario antes de la creación del recurso. Puedes crear o adquirir un recurso que tenga un ID de recurso especificado por el usuario con el campo resourceID.
ID de recursos generados por el servicio
El ID de recurso que genera el servicio durante la creación del recurso. El usuario puede recuperarlo después de que el recurso se cree correctamente. Puedes adquirir un recurso que tenga un ID de recurso generado por el servicio con el campo resourceID. Deja el campo sin especificar si deseas crear un recurso nuevo que tenga un ID de recurso generado por el servicio. Consulta la lista de Recursos con un recurso generado por el servicio de la aplicación.

Especifica el campo resourceID

Puedes especificar el campo resourceID en el spec del recurso.

En el siguiente manifiesto, se describe cómo especificar el campo resourceID para 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

Crea un recurso con el campo resourceID

Crea un conjunto de datos de BigQuery

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

  1. Copia los siguientes contenidos 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 al clúster.

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

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

  3. Usa kubectl describe para ver detalles sobre el conjunto de datos.

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

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

Adquiere un recurso con el campo resourceID

Cuando administras un recurso de Google Cloud 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 en el manifiesto y en el nombre del recurso coinciden con un recurso existente; O bien,
  • el recurso tiene un ID de recurso generado por el servicio.

Adquiere una carpeta

Para obtener una carpeta mediante Config Connector con el campo resourceID, completa los siguientes pasos:

  1. Copia los siguientes contenidos 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
    

    Reemplaza lo siguiente:

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

    kubectl apply --namespace CC_NAMESPACE -f folder.yaml

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

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

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

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

¿Qué sigue?

Revisa la Referencia de recursos para conocer los recursos que admite Config Connector.