Organisationsbezogene Ressourcen


Mit Config Connector können Sie Ihre Ressourcen auf Projekt-, Ordner- oder Organisationsebene verwalten. Damit Config Connector ermitteln kann, wo Ihre Ressourcen erstellt werden sollen, sucht es zuerst in Ihrer Ressourcenspezifikation nach einem Bereich, in dem die Ressource definiert wird, falls nicht, und sucht dann nach einer Anmerkung, die den Umfang definiert.

Feld „organizationRef“ angeben

Die meisten Config Connector-Ressourcen auf Organisationsebene unterstützen ein Feld mit dem Namen organizationRef in der entsprechenden CRD-Spezifikation. Verwenden Sie dieses Feld, um die Google Cloud-Organisation anzugeben, in der Sie die Ressource erstellen möchten.

Im Feld external können Sie die Organisations-ID angeben. Das genaue Format des Werts kann je nach Ressourcentyp unterschiedlich sein. Die zwei gängigsten Formate sind „ORGANIZATION_ID“ und „organizations/ORGANIZATION_ID“. Hier ein Beispiel für „ORGANIZATION_ID“:

...
spec:
  organizationRef:
    external: "ORGANIZATION_ID"
...

Ressourcenkonfiguration annotieren

Wenn die Config Connector-Ressource organisationsbezogen ist, das Feld organizationRef aber nicht unterstützt, können Sie die Organisations-ID mit der Annotation organization-id auf die Ressourcenkonfiguration festlegen:

...
metadata:
  annotations:
    cnrm.cloud.google.com/organization-id: ORGANIZATION_ID
...

Hier ein Beispiel dafür, wie die YAML-Datei einer Ressource mit dieser Annotation aussieht:

apiVersion: foo.cnrm.cloud.google.com/v1beta1
kind: FooBar
metadata:
  annotations:
    cnrm.cloud.google.com/organization-id: ORGANIZATION_ID
  name: foobarname

Namespace-Konfiguration annotieren

Sie können eine Standard-Organisations-ID für neu erstellte Ressourcen festlegen, indem Sie Ihren Kubernetes-Namespace annotieren. Wenn für eine der Ressourcen im Namespace diese Annotation explizit in ihrer eigenen Konfiguration festgelegt ist, überschreibt die Annotation auf Ressourcenebene die Annotation auf Namespace-Ebene.

Führen Sie den folgenden Befehl aus, um den Namespace über die Befehlszeile zu annotieren:

kubectl annotate namespace NAMESPACE_NAME cnrm.cloud.google.com/organization-id=ORGANIZATION_ID

Dabei gilt:

  • NAMESPACE_NAME ist der Name Ihres Namespace
  • ORGANIZATION_ID: Ihre Google Cloud-Organisations-ID

Alternativ können Sie ein YAML-Manifest mit der Annotation anwenden. Kopieren Sie das unten aufgeführte YAML-Manifest in eine Datei:

apiVersion: v1
kind: Namespace
metadata:
  annotations:
    cnrm.cloud.google.com/organization-id: ORGANIZATION_ID
  name: NAMESPACE_NAME

Dabei gilt:

  • ORGANIZATION_ID: Ihre Google Cloud-Organisations-ID
  • NAMESPACE_NAME ist der Name Ihres Namespace

Nachdem Sie die Datei erstellt haben, wenden Sie sie auf den Cluster an.