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.
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
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.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:
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.
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.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.