Ordnerbezogene Ressourcen


Mit Config Connector können Sie Ihre Ressourcen auf Projekt-, Ordner- oder Organisationsebene verwalten. Um zu bestimmen, wo Ihre Ressourcen erstellt werden sollen, sucht Config Connector zuerst in Ihrer Ressourcenspezifikation nach einem Feld, das den Geltungsbereich definiert. Wenn es nicht gefunden wird, wird nach einer Annotation, die den Geltungsbereich definiert, gesucht.

Feld folderRef angeben

Die meisten Config Connector-Ressourcen auf Ordnerebene unterstützen in ihrer CRD-Spezifikation ein Feld namens folderRef. Verwenden Sie dieses Feld, um den Ordner anzugeben, in dem die Ressource erstellt werden soll. Google Cloud

Wenn der Ordner Google Cloud auch im selben Cluster über die Folder-CRD verwaltet wird, können Sie den Ordner als Kubernetes-Ressourcenreferenz angeben:

...
spec:
  folderRef:
    name: FOLDER_RESOURCE_NAME
    namespace: FOLDER_RESOURCE_NAMESPACE
...

Mit diesem Ansatz können Sie Config Connector verwenden und einen Google Cloud-Ordner mit den untergeordneten Ressourcen in einem einzigen Anwendenvorgang erstellen. Das Feld „Namespace“ ist optional, wenn sich die Config Connector-Ordnerressource im selben Kubernetes-Namespace wie Ihre Ressource auf Ordnerebene befindet.

Wenn der Google Cloud -Ordner nicht als Kubernetes-Ressource im selben Cluster verwaltet wird, können Sie die Ordner-ID direkt im Feld external angeben. Das genaue Format des Werts kann je nach Ressourcentyp variieren. Die beiden gängigsten Formate sind „FOLDER_ID“ und „folders/FOLDER_ID“. Unten sehen Sie ein Beispiel für „FOLDER_ID“:

...
spec:
  folderRef:
    external: "FOLDER_ID"
...

Ressourcenkonfiguration annotieren

Wenn die Config Connector-Ressource auf Ordnerebene liegt, das Feld folderRef aber nicht unterstützt, können Sie die Ordner-ID mit der Annotation folder-id in der Ressourcenkonfiguration festlegen:

...
metadata:
  annotations:
    cnrm.cloud.google.com/folder-id: FOLDER_ID
...

Das folgende Beispiel zeigt das YAML-Manifest einer Ressource mit dieser Annotation:

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

Namespace-Konfiguration annotieren

Sie können eine Standard-Ordner-ID für neu erstellte Ressourcen festlegen, indem Sie Ihren Kubernetes-Namespace annotieren. Wenn für eine der Ressourcen im Namespace diese Anmerkung in der eigenen Konfiguration explizit festgelegt ist, wird die Anmerkung auf Namespaceebene durch die Anmerkung auf Ressourcenebene überschrieben.

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

kubectl annotate namespace NAMESPACE_NAME cnrm.cloud.google.com/folder-id=FOLDER_ID

Ersetzen Sie Folgendes:

  • NAMESPACE_NAME ist der Name Ihres Namespace
  • FOLDER_ID: Ihre Google Cloud Ordner-ID

Alternativ können Sie ein YAML-Manifest anwenden, das die Annotation enthält. Kopieren Sie das unten aufgeführte YAML-Manifest in eine Datei:

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

Ersetzen Sie Folgendes:

  • FOLDER_ID: Ihre Google Cloud Ordner-ID
  • NAMESPACE_NAME ist der Name Ihres Namespace

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