このページでは、ConfigManagement
オブジェクトで設定できるさまざまなフィールドについて説明します。このオブジェクトは、kubectl
コマンドを使用して Config Sync を構成するときに使用できます。Policy Controller の gcloud
コマンドではなく、ConfigManagement
オブジェクトで Policy Controller を管理している場合は、これらのフィールドを使用することもできます。
注: gcloud CLI の apply コマンドは、ConfigManagement
オブジェクトと異なるファイル形式 を使用しています。 注意: spec
フィールド以外の構成値は変更しないでください。
キー
説明
spec.enableMultiRepo
true
の場合、RootSync API と RepoSync API を有効にします。これらの API を使用すると、複数のリポジトリからの同期など、Config Sync の追加機能 を利用できます。Kustomize と Helm の構成の同期 についてのページをご覧ください。デフォルトは false
です。
spec.enableLegacyFields
true
の場合、マルチリポジトリ モードを使用しながら、ConfigManagement
で非推奨の spec.git
フィールドを使用できます。このフィールドを設定すると、クラスタに RootSync
リソースが自動的に生成されます。
spec.preventDrift
true
の場合、Config Sync アドミッション Webhook を有効にして、競合変更がライブクラスタに push されないように拒否することによってブレを防止 します。デフォルトは false
です。Config Sync は、このフィールドの値に関係なく、常にブレを修正します。
Policy Controller の構成
キー
説明
spec.policyController.enabled
true
の場合、Policy Controller を有効にします。デフォルトは false
です。
spec.policyController.templateLibraryInstalled
true
の場合、一般的なポリシータイプの制約テンプレートのライブラリ をインストールします。デフォルトは true
です。
spec.policyController.referentialRulesEnabled
true
の場合、参照制約のサポートを有効にします。結果整合性に関する注意事項 を必ず確認してください。デフォルトは false
です。
spec.policyController.auditIntervalSeconds
制約違反の連続する監査の間隔(秒)。0 に設定すると監査は無効になります。デフォルト: 60。
spec.policyController.logDeniesEnabled
true
の場合、すべての拒否とドライランの失敗がロギングされます。デフォルトは false
です。
spec.policyController.mutation.enabled
true
の場合、ミューテーション のサポートを有効にします。デフォルトは false
です。
spec.policyController.exemptableNamespaces
Policy Controller アドミッション Webhook の適用から削除する名前空間のリスト。違反があれば今後も監査で報告されます。デフォルトは空のリストです。
spec.policyController.monitoring.backends
指標のエクスポート先である Policy Controller のモニタリング バックエンドのリスト。デフォルト: [cloudmonitoring, prometheus]
。
ConfigManagement オブジェクトの動作に関する構成
キー
説明
spec.clusterName
クラスタをグループ化するために ClusterSelector によって使用されるクラスタのユーザー定義名。これは Config Sync インストール内で一意です。このフィールドを Google Cloud コンソールで構成することはできません。
ConfigManagement オブジェクトの例
apiVersion: configmanagement.gke.io/v1
kind: ConfigManagement
metadata:
name: config-management
spec:
clusterName: my-cluster
enableMultiRepo: true
Git リポジトリの構成(非推奨)
注意: ConfigManagement
オブジェクトの spec.git
フィールドは非推奨です。2023 年 5 月 15 日以降、spec.git
フィールドを使用して Git リポジトリを管理する新しい構成を作成することはできません。spec.git
フィールドを使用する既存の Git リポジトリ構成は、2024 年 5 月 15 日を経過すると動作しなくなります。RootSync
API には、同じ機能に加え、複数のソースからの同期やオブザーバビリティの向上などのメリットがあります。Git 構成を RootSync
オブジェクトに移行するメリットと手順については、ConfigManagement
オブジェクトを移行する をご覧ください。
キー
説明
spec.git.gcpServiceAccountEmail
RootSync または RepoSync コントローラの Kubernetes サービス アカウントにアノテーションを付けるために使用される Google Cloud サービス アカウント。このフィールドは、spec.git.secretType
が gcpserviceaccount
の場合にのみ使用されます。
spec.git.syncRepo
真の情報源として使用する Git リポジトリの URL。必須。
spec.git.syncBranch
同期元となるリポジトリのブランチ。デフォルト: master
spec.git.policyDir
同期する構成を含むルート ディレクトリへの Git リポジトリのパス。デフォルト: リポジトリのルート ディレクトリ。
spec.git.syncWait
連続する同期の間隔。デフォルト: 15s。
spec.git.syncRev
チェックアウトする Git リビジョン(タグまたはハッシュ)。デフォルトは HEAD です。
spec.git.secretType
Git リポジトリへのアクセスのために構成された Secret のタイプ。ssh
、cookiefile
、token
、gcenode
、gcpserviceaccount
、none
のいずれか。必須。
spec.sourceFormat
Git リポジトリの形式。unstructured
または hierarchy
のいずれかです。デフォルト: hierarchy
.
Git リポジトリのプロキシ構成
組織のセキュリティ ポリシーでトラフィックを HTTP(S) プロキシ経由でルーティングする必要がある場合は、プロキシの URI を使用して Git ホストと通信するように Config Sync を構成できます。プロキシは、cookiefile
、none
、または token
の承認タイプを使用する場合にのみサポートされます。
キー
説明
spec.git.proxy.httpProxy
Git リポジトリへのアクセスに使用される HTTP_PROXY
環境変数を定義します。
spec.git.proxy.httpsProxy
Git リポジトリへのアクセスに使用される HTTPS_PROXY
環境変数を定義します。
httpProxy
と httpsProxy
の両方のフィールドが指定されている場合、httpProxy
は無視されます。