Gestione delle risorse con il campo resourceID

Questa pagina spiega come gestire le risorse con il campo resourceID.

Config Connector consente di specificare esplicitamente l'ID risorsa di una risorsa Google Cloudutilizzando il campo resourceID immutabile, ma facoltativo, per creare o acquisire la risorsa. "Immutabile, ma facoltativo" significa che puoi scegliere di specificare o meno il campo resourceID, ma non puoi apportare modifiche al valore del campo resourceID dopo aver applicato il manifest al cluster.

Il campo resourceID aumenta la flessibilità di denominazione di una risorsa Google Cloud che ha un ID risorsa specificato dall'utente. Utilizzando il campo resourceID nelle risorse Config Connector, puoi definire più risorse Config Connector dello stesso tipo con lo stesso nome risorsa Google Cloudin progetti, cartelle, organizzazioni o risorse padre diversi all'interno dello stesso spazio dei nomi. Il nome della risorsa Google Cloud non è inoltre limitato dalla convenzione di denominazione di un nome oggetto Kubernetes. Inoltre, il campo resourceID consente l'acquisizione di una risorsa Google Cloud con un ID risorsa generato dal servizio.

Config Connector rende lo spazio dei nomi il "proprietario" di una risorsa per evitare che venga acquisita da un altro proprietario. Tuttavia, se utilizzi il campo resourceID, possono esistere più risorse con lo stesso nome di risorsa Google Cloud , create nello stesso spazio dei nomi. Queste risorse creano conflitti che Config Connector non può gestire. Devi risolvere manualmente eventuali conflitti.

Tipi di ID risorsa

In Config Connector, gli ID risorsa possono essere specificati dall'utente o generati dal servizio.

ID risorsa specificati dall'utente
Un ID risorsa determinato, specificato e trasmesso dall'utente prima della creazione della risorsa. Puoi creare o acquisire una risorsa con un ID risorsa specificato dall'utente con il campo resourceID.
ID risorsa generati dal servizio
Un ID risorsa generato dal servizio durante la creazione della risorsa. Può essere recuperato dall'utente dopo la creazione della risorsa. Puoi acquisire una risorsa con un ID risorsa generato dal servizio con il campo resourceID. Lascia il campo non specificato se vuoi creare una nuova risorsa con un ID risorsa generato dal servizio. Consulta l'elenco delle risorse con un ID risorsa generato dal servizio.

Specificare il campo resourceID

Puoi specificare il campo resourceID in spec della risorsa.

Il seguente manifest descrive come specificare il campo resourceID per un argomento Pub/Sub. Il nome della risorsa Config Connector è pubsub-topic-sample e il nome dell'argomento Pub/Sub è pubsub-topic-id.

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

Creazione di una risorsa con il campo resourceID

Creazione di un set di dati BigQuery

In questo esempio, crei un nuovo set di dati BigQuery utilizzando Config Connector con il campo resourceID. Il valore del campo resourceID deve seguire la convenzione di denominazione per il campo datasetId del set di dati BigQuery.

  1. Copia i seguenti contenuti in un file denominato 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. Applica il file YAML al cluster.

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

    Sostituisci CC_NAMESPACE con lo spazio dei nomi da cui Config Connector gestisce le risorse.

  3. Utilizza kubectl describe per visualizzare i dettagli sul set di dati.

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

    Sostituisci CC_NAMESPACE con lo spazio dei nomi da cui Config Connector gestisce le risorse.

Acquisizione di una risorsa con il campo resourceID

Quando gestisci una risorsa Google Cloud con il campo resourceID, Config Connector acquisisce la risorsa se:

  • La risorsa ha un ID risorsa specificato dall'utente e i valori nel manifest e nel nome della risorsa corrispondono a una risorsa esistente oppure
  • La risorsa ha un ID risorsa generato dal servizio.

Acquisizione di una cartella

Per acquisire una cartella utilizzando Config Connector con il campo resourceID, completa i seguenti passaggi:

  1. Copia i seguenti contenuti in un file denominato 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
    

    Sostituisci quanto segue:

    • ORG_ID con l'ID numerico della tua organizzazione.
    • ACQUIRED_FOLDER_ID con l'ID numerico della cartella da acquisire.
    • ACQUIRED_FOLDER_DISPLAY_NAME con il nome visualizzato della cartella da acquisire.
  2. Applica il file YAML al cluster.

    kubectl apply --namespace CC_NAMESPACE -f folder.yaml

    Sostituisci CC_NAMESPACE con lo spazio dei nomi da cui Config Connector gestisce le risorse.

  3. Utilizza kubectl describe per visualizzare i dettagli della cartella.

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

    Sostituisci CC_NAMESPACE con lo spazio dei nomi da cui Config Connector gestisce le risorse.

Passaggi successivi

Consulta il riferimento alle risorse per scoprire le risorse supportate da Config Connector.