Ressourcen mit dem Feld „resourceID“ verwalten

Auf dieser Seite wird erläutert, wie Sie Ressourcen mit dem resourceID-Feld verwalten.

Mit dem Config Connector können Sie die Ressourcen-ID einer Google Cloud-Ressource explizit mit dem unveränderlichen, aber optionalen resourceID-Feld angeben, um diese zu erstellen oder abzurufen. „Unveränderlich, aber optional“ bedeutet, dass Sie das Feld resourceID optional angeben oder nicht angeben können, aber keine Änderungen am Wert des Felds resourceID vornehmen können, nachdem Sie das Manifest auf Ihren Cluster angewendet haben.

Das resourceID-Feld erhöht die Flexibilität, eine Google Cloud-Ressource mit einer benutzerdefinierten Ressourcen-ID zu benennen. Mit dem resourceID-Feld in Ihren Config Connector-Ressourcen können Sie unter verschiedenen Projekten, Ordnern, Organisationen oder übergeordneten Elementen im selben Namespace mehrere Config Connector-Ressourcen derselben Art mit demselben Google Cloud-Ressourcennamen definieren. Der Google Cloud-Ressourcenname ist auch nicht durch die Namenskonvention für Kubernetes-Objektnamen eingeschränkt. Darüber hinaus ermöglicht das resourceID-Feld die Übernahme einer Google Cloud-Ressource mit einer dienstgenerierten Ressourcen-ID.

Config Connector macht den Namespace zum "Inhaber" einer Ressource, um zu verhindern, dass sie von einem anderen Inhaber übernommen wird. Wenn Sie jedoch das Feld resourceID verwenden, können mehrere Ressourcen mit demselben Google Cloud-Ressourcennamen vorhanden sein, der unter demselben Namespace erstellt wird. Diese Ressourcen verursachen Konflikte, die Config Connector nicht verwalten kann. Sie müssen alle Konflikte manuell lösen.

Ressourcen-ID-Typen

In Config Connector können Ressourcen-IDs vom Nutzer angegeben oder vom Dienst generiert sein.

Benutzerdefinierte Ressourcen-IDs
Eine Ressourcen-ID, die vom Nutzer vor der Ressourcenerstellung bestimmt, beschrieben und weitergegeben wird. Mit dem resourceID-Feld können Sie eine Ressource mit einer benutzerdefinierten Ressourcen-ID erstellen oder abrufen.
Dienstgenerierte Ressourcen-IDs
Eine Ressourcen-ID, die während der Ressourcenerstellung vom Dienst generiert wird. Sie kann vom Nutzer abgerufen werden, nachdem die Ressource erfolgreich erstellt wurde. Sie können eine Ressource, die eine dienstgenerierte Ressourcen-ID hat, über das resourceID-Feld abrufen. Geben Sie das Feld nicht an, wenn Sie eine neue Ressource mit einer dienstgenerierten Ressourcen-ID erstellen möchten. Weitere Informationen finden Sie in der Liste der Ressourcen mit dienstgenerierten Ressourcen-IDs.

Feld „resourceID“ angeben

Sie können das resourceID-Feld in der spec der Ressource angeben.

Folgendes Manifest beschreibt, wie das Feld resourceID für ein Pub/Sub-Thema angegeben wird. Der Name der Config Connector-Ressource lautet pubsub-topic-sample, der Name des Pub/Sub-Themas ist pubsub-topic-id.

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

Ressource mit dem Feld „resourceID“ erstellen

BigQuery Dataset erstellen

In diesem Beispiel erstellen Sie mit Config Connector ein neues BigQuery-Dataset mit dem resourceID-Feld. Der Wert des resourceID-Felds sollte der Namenskonvention für das datasetId-Feld des BigQuery-Datasets folgen.

  1. Kopieren Sie den folgenden Inhalt in eine Datei namens 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. Wenden Sie die YAML-Datei auf den Cluster an.

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

    Ersetzen Sie CC_NAMESPACE durch den Namespace Config Connector verwaltet Ressourcen von.

  3. Verwenden Sie kubectl describe, um Details zum Dataset anzuzeigen.

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

    Ersetzen Sie CC_NAMESPACE durch den Namespace Config Connector verwaltet Ressourcen von.

Ressource mit dem Feld „resourceID“ abrufen

Wenn Sie eine Google Cloud-Ressource mit dem resourceID-Feld verwalten, übernimmt Config Connector die Ressource, wenn:

  • Die Ressource hat eine vom Nutzer angegebene Ressourcen-ID. Die Werte im Manifest und der Ressourcenname entsprechen einer vorhandenen Ressource, oder:
  • Die Ressource eine dienstgenerierte Ressourcen-ID hat.

Ordner übernehmen

Führen Sie folgende Schritte aus, um einen Ordner mit Config Connector mit dem Feld resourceID zu erhalten:

  1. Kopieren Sie den folgenden Inhalt in eine Datei namens 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
    

    Ersetzen Sie:

    • ORG_ID durch die numerische ID für Ihre Organisation.
    • ACQUIRED_FOLDER_ID durch die numerische ID für den zu übernehmenden Ordner.
    • ACQUIRED_FOLDER_DISPLAY_NAME durch den angezeigten Namen für den zu übernehmenden Ordner.
  2. Wenden Sie die YAML-Datei auf den Cluster an.

    kubectl apply --namespace CC_NAMESPACE -f folder.yaml

    Ersetzen Sie CC_NAMESPACE durch den Namespace Config Connector verwaltet Ressourcen von.

  3. Verwenden Sie kubectl describe, um Details zum Ordner anzuzeigen.

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

    Ersetzen Sie CC_NAMESPACE durch den Namespace Config Connector verwaltet Ressourcen von.

Nächste Schritte

Lesen Sie die Ressourcenreferenz , um mehr über die von Config Connector unterstützten Ressourcen zu erfahren.