Ordnerbezogene Ressourcen
Mit Config Connector können Sie Ihre Ressourcen auf Projekt-, Ordner- oder Organisationsebene verwalten. Um festzustellen, wo Ihre Ressourcen erstellt werden sollen, sucht Config Connector zuerst nach einem bereichsdefinierenden Feld in der Ressourcenspezifikation. Wenn es nicht gefunden wird, wird nach einer bereichsdefinierenden Annotation gesucht.
Feld folderRef
angeben
Die meisten Config Connector-Ressourcen auf Ordnerebene unterstützen in ihrer CRD-Spezifikation ein Feld namens folderRef
. Mit diesem Feld können Sie den Google Cloud -Ordner angeben, in dem die Ressource erstellt werden soll.
Wenn der Ordner Google Cloud auch im selben Cluster über die CRD Folder verwaltet wird, können Sie den Ordner als Kubernetes-Ressourcenreferenz angeben:
...
spec:
folderRef:
name: FOLDER_RESOURCE_NAME
namespace: FOLDER_RESOURCE_NAMESPACE
...
Mit diesem Ansatz ist es möglich, Config Connector zu verwenden und einen Google Cloud-Ordner mit seinen untergeordneten Ressourcen in einem einzigen Apply-Vorgang zu erstellen. Das Feld „namespace“ ist optional, wenn sich die Config Connector-Ordnerressource im selben Kubernetes-Namespace wie Ihre Ressource auf Ordnerebene befindet.
Wenn der Ordner Google Cloud nicht als Kubernetes-Ressource im selben Cluster verwaltet wird, können Sie die Ordner-ID direkt über das Feld external
angeben. Das genaue Format des Werts kann je nach Ressourcentyp variieren. Die beiden häufigsten 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 gilt, das Feld folderRef
jedoch 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 Annotation in ihrer eigenen Konfiguration explizit festgelegt ist, wird die Annotation auf Namespace-Ebene durch die Annotation 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 NamespaceFOLDER_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-IDNAMESPACE_NAME
ist der Name Ihres Namespace
Nachdem Sie die Datei erstellt haben, wenden Sie sie auf Ihren Cluster an.