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.
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
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.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:
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ónACQUIRED_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á.
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.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.