ConfigManagement フィールド

このページでは、ConfigManagement オブジェクトで設定できるさまざまなフィールドについて説明します。このオブジェクトは、kubectl コマンドを使用して Config Sync を構成するときに使用できます。Policy Controller の gcloud コマンドではなく、ConfigManagement オブジェクトで Policy Controller を管理している場合は、これらのフィールドを使用することもできます。

Config Sync 機能の構成

キー 説明
spec.enableMultiRepo true の場合、RootSync API と RepoSync API を有効にします。これらの API を使用すると、複数のリポジトリからの同期など、Config Sync の追加機能を利用できます。Kustomize と Helm の構成の同期についてのページをご覧ください。デフォルトは false です。
spec.preventDrift true の場合、Config Sync Admission Webhook を有効にして、競合変更がライブクラスタに push されないように拒否することによってブレを防止します。デフォルトは false です。Config Sync は、このフィールドの値に関係なく、常にブレを修正します。
spec.enableLegacyFields (Shutdown in 1.19.0) true の場合、マルチリポジトリ モードを使用しながら、ConfigManagement で非推奨の spec.git フィールドを使用できます。このフィールドを設定すると、クラスタに RootSync リソースが自動的に生成されます。

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 リポジトリの構成(非推奨)

キー 説明
spec.git.gcpServiceAccountEmail RootSync または RepoSync コントローラの Kubernetes サービス アカウントにアノテーションを付けるために使用される Google Cloud サービス アカウント。このフィールドは、spec.git.secretTypegcpserviceaccount の場合にのみ使用されます。
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 のタイプ。sshcookiefiletokengcenodegcpserviceaccountnone のいずれか。必須。
spec.sourceFormat Git リポジトリの形式。unstructured または hierarchy のいずれかです。デフォルト: hierarchy.

Git リポジトリのプロキシ構成

組織のセキュリティ ポリシーでトラフィックを HTTP(S) プロキシ経由でルーティングする必要がある場合は、プロキシの URI を使用して Git ホストと通信するように Config Sync を構成できます。プロキシは、cookiefilenone、または token の承認タイプを使用する場合にのみサポートされます。

キー 説明
spec.git.proxy.httpProxy Git リポジトリへのアクセスに使用される HTTP_PROXY 環境変数を定義します。
spec.git.proxy.httpsProxy Git リポジトリへのアクセスに使用される HTTPS_PROXY 環境変数を定義します。

httpProxyhttpsProxy の両方のフィールドが指定されている場合、httpProxy は無視されます。