Gestione delle risorse con il campo resourceID

In questa pagina viene spiegato come gestire le risorse con il campo resourceID.

Config Connector consente di specificare esplicitamente l'ID risorsa di una risorsa Google Cloud utilizzando il campo resourceID immutabile ma facoltativo per creare o acquisire la risorsa. "Immutableable, but optional" significa che puoi scegliere di specificare o non specificare 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à durante la 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 Cloud in progetti, cartelle, organizzazioni o risorse padre diversi all'interno dello stesso spazio dei nomi. Inoltre, il nome della risorsa di Google Cloud non è limitato dalla convenzione di denominazione di un nome di oggetto Kubernetes. Inoltre, il campo resourceID consente l'acquisizione di una risorsa Google Cloud con un ID risorsa generato dal servizio.

Config Connector imposta lo spazio dei nomi come "proprietario" di una risorsa per evitare che venga utilizzato da un altro proprietario. Tuttavia, se utilizzi il campo resourceID, possono esserci 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 eventuali conflitti manualmente.

Tipi di ID risorsa

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

ID risorsa specificati dall'utente
Un ID risorsa che viene determinato, specificato e trasmesso dall'utente prima della creazione della risorsa. Puoi creare o acquisire una risorsa che dispone di 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 corretta della risorsa. Puoi acquisire una risorsa che dispone di 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 di risorse con un ID risorsa generato dal servizio.

Specificare il campo resourceID

Puoi specificare il campo resourceID nella risorsa 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 contenuti seguenti 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 tuo cluster.

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

    Sostituisci CC_NAMESPACE con lo spazio dei nomi Config Connector per gestire 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 Config Connector per gestire 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 file manifest e il nome della risorsa corrispondono a una risorsa esistente; oppure
  • La risorsa ha un ID risorsa generato dal servizio.

Acquisire una cartella

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

  1. Copia i contenuti seguenti 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 tuo cluster.

    kubectl apply --namespace CC_NAMESPACE -f folder.yaml

    Sostituisci CC_NAMESPACE con lo spazio dei nomi Config Connector per gestire 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 Config Connector per gestire le risorse.

Passaggi successivi

Consulta il riferimento per le risorse per ulteriori informazioni sulle risorse supportate da Config Connector.