gcloud apply spec フィールド

このページでは、Google Cloud CLI apply コマンドの --config フラグと、beta リリース トラックの enable コマンドの --fleet-default-member-config フラグを使用して Config Sync を構成するために使用できるさまざまなフィールドについて説明します。このフィールド スキーマは、enable コマンドの alpha リリース トラックでは、 新しい API スキーマ に置き換えられています。

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

Config Management の共通構成

説明
spec.version Config Management のバージョン。クラスタの Config Management を構成する場合、デフォルト バージョンは そのクラスタにインストールされている Config Management の 現在のバージョンです。それ以外の場合、フリート全体の構成の場合、またはターゲット クラスタに既存のインストールがない場合は、デフォルトは最新バージョンです。

Config Sync の構成

キー 説明
spec.cluster Config Sync の cluster-name-selector アノテーションまたは ClusterSelector で使用されるクラスタ名。クラスタのサブセットにのみ構成ファイルを適用するために使用します。Config Sync cluster-name-selector アノテーションまたは ClusterSelector で、クラスタのフリート メンバーシップ名とは異なる名前が使用されている場合は、このフィールドを設定します。
spec.upgrades プレビュー)Config Sync のアップグレード設定。 デフォルト値とサポートされている唯一の値は manual です。
spec.configSync.enabled true の場合、Config Sync をインストールして管理します。`false` の場合、以前に管理されていた Config Sync をアンインストールし、.spec.configSync 構成の残りの部分を無視します。gcloud CLI バージョン 429.0.0 以前の場合は必須です。gcloud CLI バージョン 430.0.0 以降の場合は任意です。デフォルト: true
spec.configSync.sourceType Config Sync の同期元となるソースの種類。git または oci を指定します。デフォルト: git
spec.configSync.syncRepo 真の同期ソースとして使用する Git リポジトリまたは OCI イメージの URL。リポジトリを準備していない場合は、このフィールドを省略できます。
spec.configSync.syncBranch 同期元となる Git リポジトリのブランチ。.spec.configSync.sourceTypeoci に設定されている場合、このフィールドは無視されます。この フィールドは省略可能です。デフォルト値はmasterです。わかりやすくするため、 spec.configSync.syncRev フィールドを使用してブランチ名を指定することをおすすめします。両方のフィールドを使用する場合、spec.configSync.syncRev フィールドが spec.configSync.syncBranch よりも優先されます。
spec.configSync.policyDir 同期する構成を含むルート ディレクトリへの Git リポジトリまたは OCI イメージのパス。 デフォルト: リポジトリのルート ディレクトリ。
spec.configSync.syncWait 連続する同期の間隔(秒)。デフォルトは 15 です。
spec.configSync.syncRev 同期元となる Git リビジョン(タグまたはハッシュ)またはブランチ。 が oci に設定されている場合、このフィールドは無視されます。.spec.configSync.sourceTypeこの フィールドは省略可能で、デフォルト値はHEADです。ハッシュを使用する場合は、 省略形ではなく完全なハッシュにする必要があります。
spec.configSync.preventDrift true の場合、Config Sync アドミッション Webhook を有効にして、ブレを防止することによって競合変更がライブクラスタに push されないように拒否します。デフォルト: falseConfig Sync は、このフィールドの値に関係なく、常にブレを修正します。
spec.configSync.stopSyncing true の場合、単一クラスタの構成の同期を停止します。 デフォルトは false です。
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.metricsGcpServiceAccountEmail 非推奨: Workload Identity Federation for GKE が有効になっている場合、 Google Cloud Config Sync 指標のエクスポートにサービス アカウントは必要ありません。代わりに Kubernetes サービス アカウント を使用してください。
spec.configSync.sourceFormat unstructured に設定すると、 非階層リポジトリが構成されます。 デフォルト: hierarchy
spec.configSync.deploymentOverrides Config Sync Deployment のリソース オーバーライド構成のリスト。 このフィールドは、Root Reconciler または Namespace Reconciler ではないコンテナ(reconciler-manager など)を含む Config Sync Deployment にのみ適用されます。Root Reconciler または Namespace Reconciler をオーバーライドする必要がある場合は、代わりに rootsync フィールドまたは reposync フィールドを使用します。省略可。
spec.configSync.deploymentOverrides.name オーバーライドする Config Sync Deployment の名前。 値は空白にできません。
spec.configSync.deploymentOverrides.namespace オーバーライドする Config Sync Deployment の Namespace。 値は空白にできません。
spec.configSync.deploymentOverrides.containers Config Sync コンテナのリクエストと上限のオーバーライド構成のリスト。省略可。
spec.configSync.deploymentOverrides.containers.name オーバーライドする Config Sync コンテナの名前。 値は空白にできません。
spec.configSync.deploymentOverrides.containers.cpuRequest コンテナの CPU リクエスト。Kubernetes の CPU リソース ユニット を使用します。省略可。
spec.configSync.deploymentOverrides.containers.cpuLimit コンテナの CPU 上限。Kubernetes の CPU リソース ユニット を使用します。省略可。
spec.configSync.deploymentOverrides.containers.memoryRequest コンテナのメモリ リクエスト。 Kubernetes のメモリ リソース ユニットを使用します。省略可。
spec.configSync.deploymentOverrides.containers.memoryLimit コンテナのメモリ上限。 Kubernetes のメモリ リソース ユニットを使用します。省略可。

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 ホスト間の通信が安全であることを確認してください。

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

Deployment リソースのオーバーライドを含む gcloud apply spec の例

Config Sync のリソース リクエストと上限をカスタマイズする場合は、apply spec に deploymentOverrides フィールドを追加します。たとえば、次の YAML は reconciler-manager コンテナの CPU とメモリの上限をオーバーライドします。

applySpecVersion: 1
spec:
  configSync:
    enabled: true
    deploymentOverrides:
    - name: reconciler-manager
      namespace: config-management-system
      containers:
      - name: reconciler-manager
        cpuRequest: 50m
        cpuLimit: 100m
        memoryRequest: 256Mi
        memoryLimit: 512Mi