gcloud 設定欄位行為

update 指令的 --config 標記會接受欄位,以設定成員叢集上的 Config Sync 行為。--fleet-default-member-config 旗標在 updateenable 指令中接受相同的欄位集,用於設定機群預設 Config Sync 行為。

apply 指令的 --config 旗標不同,--config 旗標會定義基礎設定 API 欄位的 Google Cloud CLI 表示法,而 update 指令的 --config--fleet-default-member-config 旗標則會分別直接採用 SpecMembershipSpec API 欄位的結構定義。enable 指令的 --fleet-default-member-config 旗標也已從 Google Cloud CLI 表示法遷移至 alpha 發布軌中的 MembershipSpec API 欄位結構定義,但為了向後相容性,系統仍支援先前的表示法。

本頁面說明 --config--fleet-default-member-config 旗標將 API 欄位結構定義中的設定欄位傳送至 API 之前,gcloud CLI 對這些欄位的額外處理方式。

預設欄位值

欄位 說明
configSync.enabled 如果使用者指定 configSync 欄位,Config Sync 安裝作業預設會使用 true
version 如果是 --config 旗標,Config Sync 版本預設為成員資格設定中的現有值;如果未設定,則為安裝在成員資格叢集上的 Config Sync 版本。請使用 describe 指令查看這些值。如果成員叢集未安裝 Config Sync,gcloud CLI 會在 API 要求中將版本設為未設定。請注意,如果 configSync.enabled 同時為 true,API 會將 Config Sync 版本預設為最新版本--config--fleet-default-member-config

不支援的欄位

如果設定下列任何舊版欄位,updateenable 指令的 --config--fleet-default-member-config 旗標會發生錯誤:

  • configSync.metricsGcpServiceAccountEmail
  • policyController
  • hierarchyController
  • binauthz
  • management

設定檔範例

本節提供可傳遞至 updateenable 指令的 --config--fleet-default-member-config 旗標設定範例。這些標記同時支援 camelCasesnake_case

apply 指令頁面上的範例相比,下列設定不包含 applySpecVersionspec 欄位。configSync.deploymentOverrides[].deploymentName 欄位是 apply 指令的 spec.configSync.deploymentOverrides[].name。其他欄位 (包括下列範例中未列出的欄位) 的命名方式也不同。

以下範例顯示基本設定:

configSync:
  enabled: true
  sourceFormat: unstructured
  git:
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: main
    secretType: none
    policyDir: config-sync-quickstart/multirepo/root

以下範例顯示較為複雜的設定:

configSync:
  enabled: true
  stopSyncing: true
  sourceFormat: unstructured
  git:
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: main
    secretType: none
    policyDir: config-sync-quickstart/multirepo/root
  deploymentOverrides:
  - deploymentName: reconciler-manager
    deploymentNamespace: config-management-system
    containers:
    - containerName: reconciler-manager
      cpuRequest: 50m
      cpuLimit: 100m
      memoryRequest: 256Mi
      memoryLimit: 512Mi