このページでは、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.sourceType が oci に設定されている場合、このフィールドは無視されます。このフィールドは省略可能です。デフォルト値は 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.sourceType が oci に設定されている場合、このフィールドは無視されます。このフィールドは省略可能で、デフォルト値は HEAD です。ハッシュを使用する場合は、省略形ではなく完全なハッシュにする必要があります。 |
spec.configSync.preventDrift |
true の場合、Config Sync アドミッション Webhook を有効にして、競合変更がライブクラスタに push されないように拒否することによってブレを防止します。デフォルト: falseConfig Sync は、このフィールドの値に関係なく、常にブレを修正します。 |
spec.configSync.stopSyncing |
true の場合、単一クラスタの構成の同期を停止します。デフォルトは false です。 |
spec.configSync.secretType |
.spec.configSync.syncRepo へのアクセスのために構成された Secret のタイプ。ソースタイプとして git を選択した場合、値は ssh、cookiefile、gcenode、gcpserviceaccount、token、または none である必要があります。ソースタイプとして oci を選択した場合、値は gcenode、gcpserviceaccount、または none である必要があります。このフィールドの検証では大文字と小文字が区別されます。必須。 |
spec.configSync.gcpServiceAccountEmail |
RootSync または RepoSync コントローラの Kubernetes サービス アカウントにアノテーションを付けるために使用される Google Cloud サービス アカウント。このフィールドは、spec.configSync.secretType が gcpserviceaccount の場合にのみ使用されます。 |
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 を構成できます。プロキシは、cookiefile、none、または 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