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 の場合、Config Sync を無効にします。gcloud CLI バージョン 429.0.0 以前の場合は必須です。gcloud CLI バージョン 430.0.0 以降の場合は任意です。デフォルト: true
spec.configSync.sourceType Config Sync の同期元となるソースの種類。git または oci を指定します。デフォルト: git
spec.configSync.syncRepo 信頼できる情報源として使用する Git リポジトリ、OCI イメージ、または Helm チャートの URL。リポジトリを準備していない場合は、このフィールドを省略できます。
spec.configSync.syncBranch 同期元となる Git リポジトリのブランチ。.spec.configSync.sourceTypeoci に設定されている場合、このフィールドは無視されます。デフォルト: master
spec.configSync.policyDir 同期する構成を含むルート ディレクトリへの Git リポジトリまたは OCI イメージのパス。デフォルト: リポジトリのルート ディレクトリ。
spec.configSync.syncWait 連続する同期の間隔(秒)。デフォルトは 15 です。
spec.configSync.syncRev チェックアウトする Git リビジョン(タグまたはハッシュ)。.spec.configSync.sourceTypeoci に設定されている場合、このフィールドは無視されます。デフォルト: HEAD
spec.configSync.preventDrift true の場合、Config Sync アドミッション Webhook を有効にして、競合変更がライブクラスタに push されないように拒否することによってブレを防止します。デフォルト: falseConfig Sync は、このフィールドの値に関係なく、常にブレを修正します。このフィールドは、Anthos Config Management バージョン 1.10.0 以降でサポートされています。
spec.configSync.secretType .spec.configSync.syncRepo へのアクセスのために構成された Secret のタイプ。ソースタイプとして git を選択した場合、値は sshcookiefilegcenodegcpserviceaccounttoken、または none である必要があります。ソースタイプとして oci を選択した場合、値は gcenodegcpserviceaccount、または none である必要があります。このフィールドの検証では大文字と小文字が区別されます。必須。
spec.configSync.gcpServiceAccountEmail RootSync または RepoSync コントローラの Kubernetes サービス アカウントにアノテーションを付けるために使用される Google Cloud サービス アカウント。このフィールドは、spec.configSync.secretTypegcpserviceaccount の場合にのみ使用されます。
spec.configSync.sourceFormat unstructured に設定すると、非階層リポジトリが構成されます。デフォルト: hierarchy

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

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

キー 説明
spec.configSync.httpsProxy Git リポジトリへのアクセスに使用される HTTPS_PROXY 環境変数を定義します。例: https://proxy.internal.business.co:443
HTTPS プロキシは、https または省略形の URL のみを受け入れます。http:// を含む URL は拒否されます。
省略形の URL を使用する場合は、プロキシ サーバーと Git ホスト間の通信が安全であることを確認してください。

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.mutationEnabled true の場合、ミューテーションのサポートを有効にします。デフォルトは false です。
spec.policyController.exemptableNamespaces Policy Controller アドミッション Webhook の適用から削除する名前空間のリスト。違反があれば今後も監査で報告されます。デフォルトは空のリストです。
spec.policyController.monitoring.backends 指標のエクスポート先である Policy Controller のモニタリング バックエンドのリスト。デフォルト: [cloudmonitoring, prometheus]

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: main
    secretType: none
    policyDir: config-sync-quickstart/multirepo/root
  policyController:
    enabled: false
  hierarchyController:
    enabled: false