ConfigManagement 欄位

本頁面說明您可以在 ConfigManagement 物件中設定的不同欄位。使用 kubectl 指令設定 Config Sync 時,可以運用這個物件。

設定 Config Sync 功能

說明
spec.enableMultiRepo 如果 true,則會啟用 RootSync 和 RepoSync API。這些 API 提供額外的 Config Sync 功能,例如從多個存放區同步處理。並同步處理 Kustomize 和 Helm 設定。 預設值為 false
spec.preventDrift 如果 true,則啟用 Config Sync 准入 Webhook,防止漂移,方法是拒絕將衝突變更推送至即時叢集。這個變數預設為 false。 無論這個欄位的值為何,Config Sync 一律會修正差異。
spec.enableLegacyFields (Shutdown in 1.19.0) 如果為 true,則啟用已淘汰的 spec.git 欄位,以便在 ConfigManagement 中使用,同時仍使用多存放區模式。設定這個欄位後,系統會自動在叢集上產生 RootSync 資源。

ConfigManagement 物件行為設定

說明
spec.clusterName 使用者定義的叢集名稱,可讓 ClusterSelectors 用來將不同叢集組合在一起。此名稱在 Config Sync 安裝作業中不會重複。您無法在 Google Cloud 控制台中設定這個欄位。

ConfigManagement 物件範例

apiVersion: configmanagement.gke.io/v1
kind: ConfigManagement
metadata:
  name: config-management
spec:
  clusterName: my-cluster
  enableMultiRepo: true

Git 存放區的設定 (已淘汰)

說明
spec.git.gcpServiceAccountEmail 用於註解 RootSync 或 RepoSync 控制器的 Kubernetes 服務帳戶。 Google Cloud 只有在 spec.git.secretTypegcpserviceaccount 時,才會使用此欄位。
spec.git.syncRepo 要做為資料來源的 Git 存放區網址。必填。
spec.git.syncBranch 要做為同步處理來源的存放區分支版本。預設值:master
spec.git.policyDir Git 存放區中包含要同步處理設定的根目錄路徑。預設值:存放區的根目錄。
spec.git.syncWait 連續同步處理作業之間的時間間隔。預設值:15 秒。
spec.git.syncRev 要查看的 Git 修訂版本 (標記或雜湊)。預設值:HEAD。
spec.git.secretType 針對 Git 存放區存取權設定的密鑰類型,只能設為以下任一種:sshcookiefiletokengcenodegcpserviceaccountnone。必填。
spec.sourceFormat Git 存放區的格式。可以是 unstructuredhierarchy。預設值:hierarchy

Git 存放區的 Proxy 設定

如果貴機構的安全政策規定必須透過 HTTP(S) Proxy 轉送流量,您可以使用 Proxy 的 URI 設定 Config Sync,與 Git 主機通訊。只有在使用 cookiefilenonetoken 授權類型時,才支援 Proxy。

說明
spec.git.proxy.httpProxy 定義用於存取 Git 存放區的 HTTP_PROXY 環境變數。
spec.git.proxy.httpsProxy 定義用於存取 Git 存放區的 HTTPS_PROXY 環境變數。

如果同時指定 httpProxyhttpsProxy 欄位,系統會忽略 httpProxy