檢視次數:
Gardener 架構將控制平面(運行於 種子叢集)與工作負載平面(射擊叢集)分開。要收集審計日誌,您需要在這兩個位置安裝 Helm 圖表。

在您開始之前

  • Seed 叢集存取:您必須擁有存取 Gardener seed 叢集的權限,並在 shoot 命名空間中安裝 Helm 圖表。
  • Shoot 叢集存取:您必須擁有在 shoot 叢集中安裝 Helm 圖表的權限。
  • Kubectl 設定Kubectl 必須配置種子叢集和射擊叢集的上下文。

步驟 1:在種子叢集上安裝 shoot 命名空間

在種子叢集的 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 chart。這將部署標準的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

在同一個種子上安裝多個射擊

要在同一個種子叢集上的多個 shoot 命名空間中安裝 Helm 圖表,您必須為每個安裝配置不同的端口以避免端口衝突。
種子叢集元件使用 hostNetwork: true 來存取種子叢集 API 伺服器。這意味著 pod 會直接綁定到主機節點的埠。如果兩個安裝使用相同的埠,第二次安裝將會失敗並出現以下錯誤:bind: address already in use
  1. 為預設埠安裝第一個 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
  2. 為不同的端口安裝第二個 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
檢查是否有其他安裝使用相同的埠,並在您的值檔案中更新埠配置。