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.sourceType が oci に設定されている場合、このフィールドは無視されます。デフォルト: master 。 |
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 されないように拒否することによってブレを防止します。デフォルト: false Config Sync は、このフィールドの値に関係なく、常にブレを修正します。このフィールドは、Anthos Config Management バージョン 1.10.0 以降でサポートされています。 |
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.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
policyController:
enabled: false
hierarchyController:
enabled: false