gcloud apply spec フィールド

このページでは、Anthos Config Management の構成ファイルで設定可能なフィールドについて説明します。このファイルは、Google Cloud CLI を使用して Anthos Config Management コンポーネントを構成するときに使用します。構成ファイルの適用に使用する gcloud CLI コマンドには、リファレンス ドキュメントもあります。

gcloud CLI で使用されるファイル形式は、ConfigManagement オブジェクトの形式に似ています。ただし、この 2 つの形式は異なり、互換性はありません。

Config Sync の構成

キー 説明
spec.configSync.enabled true の場合、Config Sync を有効にします。デフォルトは false です。
spec.configSync.syncRepo 真の情報源として使用する Git リポジトリの URL。Git リポジトリを準備していない場合は、このフィールドを省略できます。
spec.configSync.syncBranch 同期元となるリポジトリのブランチ。デフォルト: master
spec.configSync.policyDir 同期する構成を含むルート ディレクトリへの Git リポジトリのパス。デフォルトはリポジトリのルート ディレクトリです
spec.configSync.syncWait 連続する同期の間隔(秒)。デフォルトは 15 です。
spec.configSync.syncRev チェックアウトする Git リビジョン(タグまたはハッシュ)。デフォルトは HEAD です。
spec.configSync.preventDrift true の場合、Config Sync アドミッション Webhook を有効にして、競合変更がライブクラスタに push されないように拒否することによってブレを防止します。デフォルト: falseConfig Sync は、このフィールドの値に関係なく、常にブレを修正します。このフィールドは、Anthos Config Management バージョン 1.10.0 以降でサポートされています。
spec.git.auth Git リポジトリへのアクセスのために構成された Secret のタイプ。sshcookiefilegcenodegcpserviceaccounttoken、または none にする必要があります。このフィールドの検証では大文字と小文字が区別されます。必須。
spec.git.gcpServiceAccountEmail RootSync または RepoSync コントローラの Kubernetes サービス アカウントにアノテーションを付けるために使用される Google Cloud サービス アカウント。このフィールドは、spec.git.authgcpserviceaccount の場合にのみ使用されます。
spec.configSync.sourceFormat unstructured に設定すると、非階層リポジトリが構成されます。デフォルト: hierarchy

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

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

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

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.exemptableNamespaces Policy Controller アドミッション Webhook の適用から削除する名前空間のリスト。違反があれば今後も監査で報告されます。デフォルトは空のリストです。

Hierarchy Controller の構成

キー 説明
spec.hierarchyController.enabled true の場合、Hierarchy Controller を有効にします。デフォルトは false です。
spec.hierarchyController.enableHierarchicalResourceQuota true の場合、階層リソース割り当てを有効にします。デフォルトは false です。
spec.hierarchyController.enablePodTreeLabels true の場合、ワークロードの階層型モニタリングを有効にします。デフォルトは false です。

gcloud apply spec の例

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    sourceFormat: unstructured
    syncRepo: https://github.com/GoogleCloudPlatform/anthos-config-management-samples
    syncBranch: init
    secretType: none
    policyDir: quickstart/multirepo/root
  policyController:
    enabled: false
  hierarchyController:
    enabled: false