Gérer les ressources avec le champ resourceID
Cette page explique comment gérer les ressources avec le champ resourceID
.
Config Connector vous permet de spécifier explicitement l'ID de ressource d'une ressource Google Cloud à l'aide du champ resourceID
immuable, mais facultatif, pour créer ou acquérir la ressource. "Immuable, mais facultatif" signifie que vous pouvez choisir de spécifier ou non le champ resourceID
, mais que vous ne pouvez apporter aucune modification à la valeur du champ resourceID
après avoir appliqué le fichier manifeste à votre cluster.
Le champ resourceID
augmente la flexibilité d'attribution de nom à une ressource Google Cloud avec un ID de ressource spécifié par l'utilisateur. À l'aide du champ resourceID
de vos ressources Config Connector, vous pouvez définir plusieurs ressources Config Connector du même genre avec le même nom de ressource Google Cloud dans différents projets, dossiers, organisations ou ressources parentes au sein d'un même espace de noms. Le nom de la ressource Google Cloud n'est pas non plus limité par la convention d'attribution de noms d'un nom d'objet Kubernetes. En outre, le champ resourceID
permet d'acquérir une ressource Google Cloud ayant un ID de ressource généré par le service.
Config Connector fait de l'espace de noms le "propriétaire" d'une ressource pour éviter qu'elle ne soit utilisée par un autre propriétaire. Toutefois, si vous utilisez le champ resourceID
, plusieurs ressources portant le même nom de ressource Google Cloud peuvent être créées sous le même espace de noms. Ces ressources créent des conflits que Config Connector ne peut pas gérer. Vous devez résoudre les conflits manuellement.
Types d'ID de ressource
Dans Config Connector, les ID des ressources peuvent être spécifiés par l'utilisateur ou générés par le service.
- ID de ressource spécifié par l'utilisateur
- ID de ressource déterminé, spécifié et transmis par l'utilisateur avant la création de la ressource. Vous pouvez créer ou acquérir une ressource qui possède un ID spécifié par l'utilisateur avec le champ
resourceID
. - ID de ressource généré par le service
- ID de ressource généré par le service lors de la création de la ressource.
Il peut être récupéré par l'utilisateur une fois la ressource créée. Vous pouvez acquérir une ressource qui possède un ID généré par le service avec le champ
resourceID
. Laissez le champ non spécifié si vous souhaitez créer une ressource dotée d'un ID généré par le service. Consultez la liste des ressources avec un ID de ressource généré par le service.
Spécifier le champ resourceID
Vous pouvez spécifier le champ resourceID
dans spec
pour la ressource.
Le fichier manifeste suivant décrit comment spécifier le champ resourceID
pour un sujet Pub/Sub. Le nom de la ressource Config Connector est pubsub-topic-sample
et le nom du sujet Pub/Sub est pubsub-topic-id
.
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubTopic
metadata:
name: pubsub-topic-sample
spec:
resourceID: pubsub-topic-id
Créer une ressource avec le champ resourceID
Créer un ensemble de données BigQuery
Dans cet exemple, vous créez un ensemble de données BigQuery à l'aide de Config Connector avec le champ resourceID
. La valeur du champ resourceID
doit suivre la convention d'attribution de noms pour le champ datasetId
de l'ensemble de données BigQuery.
Copiez le contenu suivant dans un fichier nommé
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
Appliquez le fichier YAML à votre cluster.
kubectl apply --namespace CC_NAMESPACE -f bigquery-dataset.yaml
Remplacez
CC_NAMESPACE
par l'espace de noms à partir duquel Config Connector gère les ressources.Utilisez
kubectl describe
pour afficher les détails sur l'ensemble de données.kubectl describe --namespace CC_NAMESPACE bigquerydataset bigquerydataset-sample-for-creation
Remplacez
CC_NAMESPACE
par l'espace de noms à partir duquel Config Connector gère les ressources.
Acquérir une ressource avec le champ resourceID
Lorsque vous gérez une ressource Google Cloud avec le champ resourceID
, Config Connector acquiert la ressource si :
- La ressource possède un ID de ressource spécifié par l'utilisateur et les valeurs du paramètre le fichier manifeste et resource name correspond à une ressource existante ; Ou
- La ressource possède un ID de ressource généré par le service.
Acquérir un dossier
Pour acquérir un dossier à l'aide de Config Connector avec le champ resourceID
, procédez comme suit :
Copiez le contenu suivant dans un fichier nommé
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
Remplacez l'élément suivant :
ORG_ID
par l'ID numérique de votre organisation.ACQUIRED_FOLDER_ID
par l'ID numérique du dossier à acquérir.ACQUIRED_FOLDER_DISPLAY_NAME
par le nom à afficher pour le dossier à acquérir.
Appliquez le fichier YAML à votre cluster.
kubectl apply --namespace CC_NAMESPACE -f folder.yaml
Remplacez
CC_NAMESPACE
par l'espace de noms à partir duquel Config Connector gère les ressources.Utilisez
kubectl describe
pour afficher les détails sur le dossier.kubectl describe --namespace CC_NAMESPACE folder folder-sample-for-acquisition
Remplacez
CC_NAMESPACE
par l'espace de noms à partir duquel Config Connector gère les ressources.
Étape suivante
Consultez la documentation de référence de la ressource pour en savoir plus sur les ressources compatibles avec Config Connector.