Gestione delle risorse con il campo resourceID


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

Config Connector ti consente di specificare esplicitamente l'ID risorsa di una risorsa Google Cloudutilizzando il campo resourceID immutabile, ma facoltativo, per creare o acquisire la risorsa. "Invariabile, 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 Google Cloud risorsa 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 Google Cloud nome della risorsa in progetti, cartelle, organizzazioni o risorse principali diverse all'interno dello stesso spazio dei nomi. Il Google Cloud nome della risorsa non è inoltre limitato dalla convenzione di denominazione di un nome dell'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 impedire che venga acquisita da un altro proprietario. Tuttavia, se utilizzi il campo resourceID, possono essere presenti più risorse con lo stesso Google Cloud nome della risorsa, 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 passato 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 acquistare 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.

Specifica del 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 del connettore di configurazione è 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 il connettore Config con il campo resourceID. Il valore del campo resourceID deve rispettare 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. Usa kubectl describe per visualizzare i dettagli del 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 Google Cloud risorsa 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. In alternativa:
  • 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 approfondire le risorse supportate da Config Connector.