Gardenerアーキテクチャは、コントロールプレーン (seed cluster上で実行) とワークロードプレーン (shoot cluster) を分離しています。Audit Logsを収集するには、両方の場所にHelmチャートをインストールする必要があります。
始める前に
-
シードクラスターへのアクセス: Gardenerシードクラスターにアクセスし、シュートネームスペースにHelmチャートをインストールする権限が必要です。
-
シュートクラスターへのアクセス: シュートクラスターにHelmチャートをインストールする権限が必要です。
-
Kubectl構成:
Kubectlは、シードクラスターとシュートクラスターの両方のコンテキストで構成されている必要があります。
手順1: シードクラスターにshootネームスペースをインストール
Helmチャートをシードクラスターのシュートネームスペースにインストールします。これにより、監査ログ収集コンポーネントがデプロイされます。
-
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
-
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コンポーネントがデプロイされます。
-
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
-
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。-
デフォルトポート用に最初のシュートネームスペースをインストールします:
# 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
-
異なるポート用にセカンドシュートネームスペースをインストールします:
# 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ファイルでポート設定を更新してください。
