Gardener 架構將控制平面(運行於 種子叢集)與工作負載平面(射擊叢集)分開。要收集審計日誌,您需要在這兩個位置安裝 Helm 圖表。
在您開始之前
-
Seed 叢集存取:您必須擁有存取 Gardener seed 叢集的權限,並在 shoot 命名空間中安裝 Helm 圖表。
-
Shoot 叢集存取:您必須擁有在 shoot 叢集中安裝 Helm 圖表的權限。
-
Kubectl 設定:
Kubectl必須配置種子叢集和射擊叢集的上下文。
步驟 1:在種子叢集上安裝 shoot 命名空間
在種子叢集的 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 chart。這將部署標準的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
在同一個種子上安裝多個射擊
要在同一個種子叢集上的多個 shoot 命名空間中安裝 Helm 圖表,您必須為每個安裝配置不同的端口以避免端口衝突。
種子叢集元件使用
hostNetwork: true 來存取種子叢集 API 伺服器。這意味著 pod 會直接綁定到主機節點的埠。如果兩個安裝使用相同的埠,第二次安裝將會失敗並出現以下錯誤:bind: address already in use。-
為預設埠安裝第一個 shoot 命名空間:
# 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
-
為不同的端口安裝第二個 shoot 命名空間:
# 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
埠參考和配置差異
下表顯示了埠配置的參考資料:
|
元件
|
連接埠類型
|
預設
|
第二次安裝
|
第三次安裝
|
|
稽核日誌收集器
|
webhookPort
|
8030
|
8130
|
8230
|
|
apiServerModifier
|
metricsPort
|
8040
|
8140
|
8240
|
|
apiServerModifier
|
健康探測埠
|
8050
|
8150
|
8250
|
|
apiServerModifier
|
webhookPort
|
8060
|
8160
|
8260
|
|
政策操作員
|
服務埠
|
8070
|
8170
|
8270
|
|
政策操作員
|
metricsPort
|
8080
|
8180
|
8280
|
|
政策操作員
|
健康探測埠
|
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
檢查是否有其他安裝使用相同的埠,並在您的值檔案中更新埠配置。
