gcloud apply spec フィールド
このページでは、Config Sync の構成ファイルで設定できるさまざまなフィールドについて説明します。このファイルは、Google Cloud CLI で Config Sync コンポーネントを構成するときに使用します。構成ファイルの適用に使用する gcloud CLI コマンドには、リファレンス ドキュメントもあります。
これらのコマンドで Policy Controller を構成することもできますが、代わりに Policy Controller gcloud
コマンドを使用することをおすすめします。
gcloud CLI で使用されるファイル形式は、ConfigManagement
オブジェクトの形式に似ています。ただし、この 2 つの形式は異なり、互換性はありません。
Config Sync の構成
キー | 説明 |
---|---|
spec.upgrades |
(プレビュー)Config Sync のアップグレード設定。auto に設定すると、Config Sync のバージョンが自動アップグレードされます。自動アップグレードの仕組みについては、Config Sync をアップグレードするをご覧ください。Config Sync のバージョンを手動でアップグレードするには、manual に設定します。デフォルト値は manual です。このフラグは、Google Cloud 上の GKE クラスタでのみサポートされています。 |
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.sourceType が oci に設定されている場合、このフィールドは無視されます。このフィールドは省略可能です。デフォルト値は master です。Config Sync バージョン 1.17.0 以降では、spec.configSync.syncRev フィールドを使用してブランチ名を指定することをおすすめします。spec.configSync.syncRev フィールドと spec.configSync.syncBranch フィールドの両方が指定されている場合、spec.configSync.syncRev が spec.configSync.syncBranch よりも優先されます。
|
spec.configSync.policyDir |
同期する構成を含むルート ディレクトリへの Git リポジトリまたは OCI イメージのパス。デフォルト: リポジトリのルート ディレクトリ。 |
spec.configSync.syncWait |
連続する同期の間隔(秒)。デフォルトは 15 です。 |
spec.configSync.syncRev |
同期元の Git リビジョン(タグまたはハッシュ)。.spec.configSync.sourceType が oci に設定されている場合、このフィールドは無視されます。このフィールドは省略可能で、デフォルト値は HEAD です。Config Sync バージョン 1.17.0 以降では、spec.configSync.syncRev フィールドにブランチ名を指定することもできます。バージョン 1.17.0 以降のハッシュを使用する場合、省略形ではなく、完全なハッシュにする必要があります。 |
spec.configSync.preventDrift |
true の場合、Config Sync アドミッション Webhook を有効にして、競合変更がライブクラスタに push されないように拒否することによってブレを防止します。デフォルト: false Config Sync は、このフィールドの値に関係なく、常にブレを修正します。 |
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 |
Config Sync の指標を Cloud Monitoring にエクスポートする際に使用される Google Cloud サービス アカウント(GSA)のメールアドレス。GSA には、モニタリング指標の書き込み(roles/monitoring.metricWriter )IAM ロールが必要です。Namespace config-management-monitoring の Kubernetes ServiceAccount default は、GSA にバインドされている必要があります。 |
spec.configSync.sourceFormat |
unstructured に設定すると、非階層リポジトリが構成されます。デフォルト: hierarchy |
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 ホスト間の通信が安全であることを確認してください。 |
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
hierarchyController:
enabled: false