Ressourcenreferenzen erstellen

Eine Google Cloud-Ressource, die mit Config Connector erstellt wurde, kann auf andere Ressourcen verweisen. Config Connector definiert solche Beziehungen über Ressourcenreferenzen. In diesem Thema wird erläutert, wie Sie Ressourcen mit Referenzen erstellen.

Referenztypen

In Config Connector können Referenzen Abhängigkeiten oder Verknüpfungen sein.

Abhängigkeiten
Eine Abhängigkeitsreferenz bezieht sich auf eine vorhandene Google Cloud-Ressource, die für die Config Connector-Ressource erforderlich ist. Beispielsweise benötigt eine Firewallregel ein Netzwerk.
Verknüpfungen
Ein Verknüpfungsverweis verbindet unabhängige Ressourcen miteinander. Ein Projekt kann beispielsweise mit einem Rechnungskonto verknüpft sein.

Ressourcenreferenzen angeben

Ressourcenreferenzen geben Sie in der spec der Ressource an. Der Feldname ist der Kurzname der Ressource, gefolgt von Ref. Beispiel:

  • Die Referenz auf ein PubSubTopic mit dem Namen topic lautet topicRef.
  • Die Referenz auf einen StorageBucket namens bucket lautet bucketRef.

Die Referenz ist ein Objekt mit einem einzelnen Feld (name). Die Ressource in resourceRef wird durch den Namen der Referenz ersetzt.

Das folgende YAML-Manifest beschreibt eine Pub/Sub-PubSubSubscription, die auf ein PubSubTopic mit dem Namen myTopic verweist:

apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubSubscription
metadata:
  name: pubsubsubscription-referencing-topic
spec:
  topicRef:
    name: myTopic

Pub/Sub-Beispiel

Pub/Sub-Thema erstellen

In diesem Beispiel erstellen Sie ein PubSubSubscription, das von PubSubTopic abhängt.

  1. Kopieren Sie Folgendes in eine Datei mit dem Namen pubsub-topic.yaml und ersetzen Sie [TOPIC_NAME] durch den gewünschten PubSubTopic-Namen:
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubTopic
metadata:
  name: [TOPIC_NAME]

Das YAML-Manifest zum Erstellen eines Themas namens myTopic lautet beispielsweise:

apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubTopic
metadata:
  name: myTopic
  1. Erstellen Sie PubSubTopic mit kubectl apply:
kubectl --namespace [CC_NAMESPACE] apply -f pubsub-topic.yaml

Ersetzen Sie [CC_NAMESPACE] durch den Namespace, von dem aus Config Connector Ressourcen verwaltet.

Pub/Sub-Abo erstellen

  1. Kopieren Sie Folgendes in eine Datei mit dem Namen pubsub-subscription.yaml. Ersetzen Sie dabei [TOPIC_NAME] durch den Namen von PubSubTopic, den Sie in Schritt 1 verwendet haben:
apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubSubscription
metadata:
  name: pubsubsubscription-referencing-topic
spec:
  topicRef:
    name: [TOPIC_NAME]

Das YAML-Manifest, das auf das zuvor erstellte Thema myTopic verweist, lautet beispielsweise:

apiVersion: pubsub.cnrm.cloud.google.com/v1beta1
kind: PubSubSubscription
metadata:
  name: pubsubsubscription-referencing-topic
spec:
  topicRef:
    name: myTopic
  1. Erstellen Sie PubSubSubscription mit kubectl apply:
kubectl --namespace [CC_NAMESPACE] apply -f pubsub-subscription.yaml 

Ersetzen Sie [CC_NAMESPACE] durch den Namespace, von dem aus Config Connector Ressourcen verwaltet.

Externe Referenzen

Config Connector kann auch auf Ressourcen verweisen, die es nicht verwaltet. Diese werden als externe Referenzen bezeichnet. Im folgenden Beispiel verweist ComputeURLMap auf einen BackendService namens test-backendservice.

apiVersion: compute.cnrm.cloud.google.com/v1beta1
kind: ComputeURLMap
metadata:
  name: test-urlmap
spec:
  location: global
  defaultService:
    backendServiceRef:
      external: https://www.googleapis.com/compute/v1/projects/[PROJECT_ID]/global/backendServices/test-backendservice

Das Format der von external akzeptierten Werte hängt von der Ressource ab. Informationen zu einzelnen Ressourcen finden Sie in der Dokumentation der Config Connector-Ressourcen. Die Beschreibungen der external-Felder der Ressource enthalten auch die Werte, die external akzeptiert.

Externe Referenzen für IAMPolicy und IAMPolicyMember

IAMPolicy und IAMPolicyMember unterstützen auch externe Referenzen. Der folgende IAMPolicyMember verweist beispielsweise auf ein Project mit der Projekt-ID test-project.

apiVersion: iam.cnrm.cloud.google.com/v1beta1
kind: IAMPolicyMember
metadata:
  name: test-iampolicymember
spec:
  member: serviceAccount:test-serviceaccount@test-project.iam.gserviceaccount.com
  role: roles/storage.admin
  resourceRef:
    apiVersion: resourcemanager.cnrm.cloud.google.com/v1beta1
    kind: Project
    external: projects/test-project

In der Dokumentation der Config Connector-Ressourcen finden Sie Informationen zu der Ressource, auf die Sie verweisen möchten. Für das Format, das external akzeptiert, suchen Sie nach dem Attribut "IAM External Reference Format" dieser Ressource.

Nächste Schritte

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

Erfahren Sie, wie Sie einen Ressourcenverweis auf ein Secret in Ihrem Config Connector-Cluster verwenden können.