資料夾範圍內的資源


Config Connector 可在專案、資料夾或機構層級管理資源。Config Connector 會先檢查資源規格中的範圍定義欄位,如果找不到,就會檢查範圍定義註解

指定 folderRef 欄位

大多數資料夾層級設定連接器資源都支援 CRD 規格中的 folderRef 欄位。請使用這個欄位指定要建立資源的 Google Cloud 資料夾。

如果 Google Cloud 資料夾也透過 Folder CRD 在同一個叢集中管理,您可以將資料夾指定為 Kubernetes 資源參照:

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

這種做法可讓您使用 Config Connector,並在單一套用作業中建立 Google Cloud資料夾及其子項資源。如果 Config Connector 資料夾資源與資料夾範圍資源位於相同的 Kubernetes 命名空間,則命名空間欄位為選用欄位。

如果 Google Cloud 資料夾並未以 Kubernetes 資源的形式在同一個叢集中管理,您可以使用 external 欄位直接指定資料夾 ID。值的確切格式可能會因資源類型而異。最常見的兩種格式為「FOLDER_ID」和「folders/FOLDER_ID」。請參考下方「FOLDER_ID」的範例:

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

為資源設定加註

如果 Config Connector 資源是資料夾層級,但不支援 folderRef 欄位,您可以使用 folder-id 註解,將資料夾 ID 設為資源設定:

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

以下是資源的 YAML 加上此註解的範例:

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

註解命名空間設定

您可以為 Kubernetes 命名空間加上註解,為新建立的資源設定預設資料夾 ID。如果命名空間中的任何資源在其自身設定中明確設定此註解,資源層級註解會覆寫命名空間層級註解。

如要使用指令列為命名空間加註,請執行下列指令:

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

更改下列內容:

  • NAMESPACE_NAME:您的命名空間名稱
  • FOLDER_ID:您的 Google Cloud 資料夾 ID

或者,您也可以套用包含註解的 YAML 資訊清單。將下列 YAML 複製到檔案中:

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

更改下列內容:

  • FOLDER_ID:您的 Google Cloud 資料夾 ID
  • NAMESPACE_NAME:您的命名空間名稱

建立檔案後,請將檔案套用至叢集。