ビュー:
Gardenerアーキテクチャは、コントロールプレーン (seed cluster上で実行) とワークロードプレーン (shoot cluster) を分離しています。Audit Logsを収集するには、両方の場所にHelmチャートをインストールする必要があります。

始める前に

  • シードクラスターへのアクセス: Gardenerシードクラスターにアクセスし、シュートネームスペースにHelmチャートをインストールする権限が必要です。
  • シュートクラスターへのアクセス: シュートクラスターにHelmチャートをインストールする権限が必要です。
  • Kubectl構成: Kubectlは、シードクラスターとシュートクラスターの両方のコンテキストで構成されている必要があります。

手順1: シードクラスターにshootネームスペースをインストール

Helmチャートをシードクラスターのシュートネームスペースにインストールします。これにより、監査ログ収集コンポーネントがデプロイされます。
  1. seed-overrides.yamlを作成:
    visionOne:
      # Your Vision One bootstrap token
      bootstrapToken: "your-bootstrap-token"
      endpoint: "https://api.xdr.trendmicro.com/external/v2/direct/vcs/external/vcs"
    ​
    # Enable audit log collection
    auditLogCollection:
      enabled: true
      provider: gardener
      gardener:
        # IMPORTANT: Set to true for seed cluster installation
        seedCluster: true
  2. Helmチャートをインストールする:
    # Switch to seed cluster context
    kubectl config use-context <seed-cluster-context>
    ​
    # Install in the shoot namespace
    helm install \
      --values seed-overrides.yaml \
      --namespace shoot--<project>--<shoot-name> \
      trendmicro \
      https://github.com/trendmicro/visionone-container-security-helm/archive/main.tar.gz
    ​

手順2:shootクラスターにHelmをインストールする

shoot clusterにHelmチャートをインストールします。これにより、標準のContainer Securityコンポーネントがデプロイされます。
  1. shoot-overrides.yamlを作成:
    visionOne:
      # Your Vision One bootstrap token (same as seed cluster)
      bootstrapToken: "your-bootstrap-token"
      endpoint: "https://api.xdr.trendmicro.com/external/v2/direct/vcs/external/vcs"
    ​
    # Enable audit log collection
    auditLogCollection:
      enabled: true
      provider: gardener
      gardener:
        # IMPORTANT: Set to false (or omit) for shoot cluster installation
        seedCluster: false
  2. Helmチャートをインストールする:
    # Switch to shoot cluster context
    kubectl config use-context <shoot-cluster-context>
    ​
    # Install in trendmicro-system namespace
    helm install \
      --values shoot-overrides.yaml \
      --namespace trendmicro-system \
      --create-namespace \
      trendmicro \
      https://github.com/trendmicro/visionone-container-security-helm/archive/main.tar.gz

同じシードに複数のシュートをインストールする

同じシードクラスターの複数のシュートネームスペースにHelmチャートをインストールするには、ポートの競合を避けるために各インストールで異なるポートを設定する必要があります。
シードクラスターコンポーネントはhostNetwork: trueを使用してシードクラスターAPIサーバにアクセスします。これは、ポッドがホストノードポートに直接バインドすることを意味します。2つのインストールが同じポートを使用する場合、2番目のインストールは次のエラーで失敗します: bind: address already in use
  1. デフォルトポート用に最初のシュートネームスペースをインストールします:
    # seed-values-shoot1.yaml
    visionOne:
      bootstrapToken: "your-bootstrap-token-for-shoot-1"
      endpoint: "https://api.xdr.trendmicro.com/external/v2/direct/vcs/external/vcs"
      auditLogCollector:
        webhookPort: 8030
      apiServerModifier:
        metricsPort: 8040
        healthProbePort: 8050
        webhookPort: 8060
      policyOperator:
        servicePort: 8070
        metricsPort: 8080
        healthProbePort: 8090
    ​
    auditLogCollection:
      enabled: true
      provider: gardener
      gardener:
        seedCluster: true
  2. 異なるポート用にセカンドシュートネームスペースをインストールします:
    # seed-values-shoot2.yaml
    visionOne:
      bootstrapToken: "your-bootstrap-token-for-shoot-2"
      endpoint: "https://api.xdr.trendmicro.com/external/v2/direct/vcs/external/vcs"
      auditLogCollector:
        webhookPort: 8130
      apiServerModifier:
        metricsPort: 8140
        healthProbePort: 8150
        webhookPort: 8160
      policyOperator:
        servicePort: 8170
        metricsPort: 8180
        healthProbePort: 8190
    ​
    auditLogCollection:
      enabled: true
      provider: gardener
      gardener:
        seedCluster: true

ポートレファレンスと構成の違い

次の表に、ポート設定のレファレンスを示します。
コンポーネント
ポートタイプ
初期設定
2回目のインストール
3回目のインストール
auditLogCollector
webhookPort
8030
8130
8230
apiServerModifier
metricsPort
8040
8140
8240
apiServerModifier
healthProbePort
8050
8150
8250
apiServerModifier
webhookPort
8060
8160
8260
ポリシーオペレーター
servicePort
8070
8170
8270
ポリシーオペレーター
metricsPort
8080
8180
8280
ポリシーオペレーター
healthProbePort
8090
8190
8290
次の表は構成の違いを示しています。
設定
シードクラスター
クラスターを撃つ
auditLogCollection.gardener.seedCluster
true
false
インストール名前空間
shoot--<project>--<name>
trendmicro-system
コンポーネントが展開されました
監査ログコレクター, APIサーバ修正者, ポリシーオペレーター
標準V1CSコンポーネント
ポート構成が必要です
はい (マルチシュートネームスペースの場合)
No
ホストネットワーク
はい
No

トラブルシューティング

ポート競合エラー
次のエラーはポートの競合を示しています。
0/1 nodes are available: 1 node(s) didn't have free ports for the requested pod ports
別のインストールが同じポートを使用しているか確認し、valuesファイルでポート設定を更新してください。