gcloud apply spec フィールド

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

これらの 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 イメージ、または Helm チャートの 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 リビジョン(タグまたはハッシュ)またはブランチ。.spec.configSync.sourceTypeoci に設定されている場合、このフィールドは無視されます。このフィールドは省略可能で、デフォルト値は 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 が有効になっている場合、Config Sync 指標のエクスポートに Google Cloud サービス アカウントは必要ありません。代わりに Kubernetes サービス アカウントを使用してください。
spec.configSync.sourceFormat unstructured に設定すると、非階層リポジトリが構成されます。デフォルト: hierarchy
spec.configSync.deploymentOverrides Config Sync デプロイのリソース オーバーライド構成のリスト。このフィールドは、Root Reconciler または Namespace Reconciler ではないコンテナを含む Config Sync Deployment(reconciler-manager など)にのみ適用されます。Root Reconciler または Namespace Reconciler をオーバーライドする必要がある場合は、代わりに rootsync フィールドまたは reposync フィールドを使用します。省略可。
spec.configSync.deploymentOverrides.name オーバーライドする Config Sync デプロイの名前。値を空にすることはできません。
spec.configSync.deploymentOverrides.namespace オーバーライドする Config Sync デプロイの 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

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

Config Sync のリソース リクエストと上限をカスタマイズする場合は、適用仕様に 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