資料夾範圍內的資源
Config Connector 可以在專案、資料夾或組織層級管理資源。為判斷建立資源的位置,Config Connector 會先檢查資源規格中的範圍定義欄位,如果找不到,則會檢查範圍定義註解。
指定 folderRef 欄位
大多數資料夾範圍的 Config Connector 資源,都在其 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: SERVICE_NAME.cnrm.cloud.google.com/v1beta1
kind: RESOURCE_KIND
metadata:
annotations:
cnrm.cloud.google.com/folder-id: FOLDER_ID
name: RESOURCE_NAME
更改下列內容:
SERVICE_NAME:資源的 Google Cloud 服務名稱RESOURCE_KIND:Config Connector 資源的種類FOLDER_ID:您的 Google Cloud 資料夾 IDRESOURCE_NAME:資源名稱
標註命名空間設定
您可以為新建立的資源設定預設資料夾 ID,方法是為 Kubernetes 命名空間加上註解。如果命名空間中的任何資源在其設定中明確設定了這個註解,資源層級註解會覆寫命名空間層級註解。
如要使用指令列為命名空間加上註解,請執行下列指令:
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 資料夾 IDNAMESPACE_NAME:命名空間名稱
建立檔案後,請將其套用至叢集。