使用 Helm 安裝 AppScan 360°

AppScan 360° 的 Helm 安裝需要持續、可靠的網際網路連線,也需要設定 AppScan 360° 環境。系統必須能夠定期從 HCL Harbor 下載 Helm 圖表。

在使用 Helm 安裝 AppScan 360° 之前:
  • 確認您擁有穩定且持續的網際網路連線,可從 GitHub 下載 Helm 圖表,且可從 HCL Harbor 提取 Docker 映像檔和 Helm 套件。
  • 配置檔可以使用且命名正確

安裝 helmfile

若要安裝 helmfile:
  1. 下載 helmfile 二進位檔案:
    wget -O helmfile.tar.gz $(curl -s https://api.github.com/repos/helmfile/helmfile/releases/latest | grep browser_download_url | grep linux_amd64.tar.gz | cut -d '"' -f 4)
  2. 解壓縮封存檔:
    tar -xvzf helmfile_*_linux_amd64.tar.gz
  3. 將 helmfile 二進位移至適當的本端目錄。
    例如 usr/local/bin/
    sudo mv helmfile /usr/local/bin/
  4. 提供檔案可執行的許可權:
    sudo chmod +x /usr/local/bin/
    sudo chmod +x /usr/local/bin/helmfile
  5. 驗證安裝:
    helmfile --version
    註: 請務必確認您使用正確版本,以確保所有部署一致。

設定 Harbor 連線

若要設定 Harbor 的連線,請執行下列其中一項操作:
  • 將 Docker 登入與您的 usernamepassword(如 cli-secret 中所定義)搭配使用:
    docker login hclcr.io
  • 設定 docker/config.json 檔案的環境變數:
    export HCLCR_USERNAME=<harbor-username>
    export HCLCR_PASSWORD=<harbor-password/cli-secret>
  • 設定 base64 編碼的環境變數:
    export AS360_KNI_JSON_CONFIG_AS_BASE64="<base64-value-of-docker-config.json>"

設定 GitHub 儲存庫

AppScan 360° Helm 的儲存庫由私有 GitHub 伺服器代管。在 https://github.com/HCL-TECH-SOFTWARE/ 複製適當的儲存庫,以正確填入本端儲存庫:
git clone --branch main https://github.com/HCL-TECH-SOFTWARE/AppScan-360-Helm-Files.git
複製後,請確認本端儲存庫具有下列結構:
AppScan-360-Helm-Files
├── helm.d
│   ├── helmfile-ASCP.yaml.gotmpl
│   ├── helmfile-ASRA.yaml.gotmpl
│   ├── helmfile-SCA.yaml.gotmpl
│   └── helmFileCustomization
│       └── singular-singular.clusterKit-Sample.yaml
└── helmfile.yaml.gotmpl

安裝 AppScan 360°

從複製的儲存庫 (AppScan-360-Helm-Files) 中執行:
helmfile sync

納入軟體組成分析 (SCA)

當使用參數安裝 AppScan 360° 時,其中會包含軟體組成分析 (SCA)。
註: AppScan 360° 並非預設納入軟體組成分析 (SCA);您必須將其啟用。
若要納入 SCA:
includeSCA=true helmfile sync
若要停用 SCA:
includeSCA=true helmfile destroy
若要啟用軟體組成分析 (SCA) 漏洞資料庫的自動更新,請設定下列環境變數,以指向 HCL Harbor 登錄並提供正確的認證。
export SCA_AUTOUPDATER_REGISTRY_USERNAME=<HCL_HARBOR_USERNAME>
export SCA_AUTOUPDATER_REGISTRY_PASSWORD=<HCL_HARBOR_PASSWORD>
重要: 如果沒有設定自動更新,則必須手動更新漏洞資料庫。

使用 Git 標籤和封存檔支援版本

AppScan 360° 使用 Git 標籤和封存檔支援版本控制的安裝。
若要使用 Git 複製 AppScan 360° 的最新版本:
git clone 
https://github.com/HCL-TECH-SOFTWARE/AppScan-360-Helm-Files.git
若要使用 Git 複製 AppScan 360° 的特定版本,其中 X.X.X 是該特定版本編號:
git clone --branch vX.X.X 
https://github.com/HCL-TECH-SOFTWARE/AppScan-360-Helm-Files.git
若要直接下載封存檔,其中 X.X.X 是該特定版本編號:
wget https://github.com/HCL-TECH-SOFTWARE/AppScan-360-Helm-Files/archive/refs/tags/vX.X.X.zip
若要擷取特定的封存檔,其中 X.X.X 是該特定版本編號:
unzip AppScan-360-Helm-Files-vX.X.X.zip
tar -xvzf AppScan-360-Helm-Files-vX.X.X.tar.gz
註: 如果下載封存檔,則必須重新下載新版本,以手動方式執行升級。無法使用 Git 取出進行直接升級。

Helm 安裝疑難排解

  • 版本名稱:
    元件 版本名稱 名稱空間
    AppScan 360° platform appscan360-ascp hcl-appscan-ascp
    AppScan 補救諮詢 asra hcl-appscan-asra
    軟體組合分析 (SCA)(選用) scaservices hcl-appscan-sca
  • No state file found

    狀態檔案必須命名為 helmfile.d/*
    1. 導覽至 AppScan-360-Helm-Files -> helm.d
    2. 執行 run helmfile sync
  • ./helmfile.yaml: in .helmfiles[0]: in helm.d/helmfile-ASCP.yaml: failed processing release appscan360-ascp: values file matching "helmFileCustomizations/singular-singular.clusterKit.yaml" does not exist in "."

    內容檔案 (singular-singular.clusterKit.yaml) 遺漏。驗證檔案位於正確位置,然後再試一次。

  • Failed to pull helm-packages or docker images

    Docker 登入遺漏,或 HCLCR_USERNAMEHCLCR_PASSWORD 環境變數遺漏。驗證登入資訊,然後再試一次。

  • Failed to get pull secret

    .docker/config.json 檔案遺漏或未定義具有適當值的 AS360_KNI_JSON_CONFIG_AS_BASE64。驗證登入資訊,然後再試一次。