具有本地注册表支持的 Helmfile 安装

本指南将详细介绍如何利用本地(专用)注册表来使用 Helmfile 安装 AppScan 360°。此方法非常适合需要满足安全、合规或离线(物理隔离)安装要求,并将官方 HCL Harbor 注册表中的工件镜像至其所在环境的客户。

主要功能:

  • 工件同步:用于将 Docker 映像和 Helm 图表从 HCL Harbor 复制到您的专用注册表的脚本。

  • 定制:基于 YAML 的配置以覆盖注册表位置。

自动化部署:使用 Helmfile 进行单命令部署。

系统要求和组件

在开始安装之前,请确保以下组件可用。

1.工件来源 (HCL Harbor)

官方 HCL Harbour 注册表 (hclcr.io) 托管源文件:

  • AppScan 360° Docker 映像。

  • Helm 图表(打包为 .tgz 发行版)。

2.目标环境(客户注册表)

您必须有可用的专用注册表(例如,registry.customer.local/as360)。

  • 要求:注册表必须支持 OCI

  • 局限性:当前不支持将工件推送到注册表的根目录。

3.工具

安装捆绑包中提供了以下工具:

  • Helmfile:编排组件(ASCP、ASRA、DTCS、SCA)的部署。

  • copy-artifacts.sh通过读取 artifactList 文件,将映像和图表从 HCL Harbor 复制到您的本地注册表的脚本。

4.凭证

确保您已获得对这两个注册表的认证访问权限:

  • HCL Harbor:只读凭证。安装过程

  • 客户注册表:读/写凭证。

安装过程

步骤 1:获取安装捆绑包

下载并解压缩 HCL 提供的安装包。目录结构如下所示:
AppScan-360-Helm-Files
├── Copy Artifacts
│   ├── artifactList.txt        # List of images/charts 
to sync
│   ├── copy-artifacts.sh       # The synchronization 
script
├── Helm.d
│   ├── helmfile-ASCP.yaml.gotmpl
│   ├── helmfile-ASRA.yaml.gotmpl
│   ├── helmfile-SCA.yaml.gotmpl
│   ├── helmfile-DTSC.yaml.gotmpl
│   └── helmFileCustomization
│       └── singular-singular.clusterKit-Sample.yaml  # 
Main config file
├── helmfile.yaml.gotmpl

└── README.md

步骤 2:将工件同步到本地注册表

如果您使用的是专用注册表(离线/隔离模式),则必须先从 HCL Harbour 复制所需的文件。

运行位于 Copy Artifacts 文件夹中的同步脚本:
./copy-artifacts.sh

脚本输入:

  1. 目标注册表:输入您的注册表 URL 和存储库(例如,registry.customer.local/as360)。

  2. 工件列表:该脚本会自动读取 imalist 文件(包含 [IMAGES] 和 [HELM] 部分)。

成功:此步骤可确保所有 Docker 映像和 Helm 图表都已镜像到您的环境。

步骤 3:配置注册表覆盖

您必须更新配置文件,让 Helmfile 查看您的本地注册表而不是 HCL Harbour。

  1. 打开 helmFileCustomization/singular-singular.clusterKit-Sample.yaml。

  2. 找到 Singular File 部分。

  3. 使用本地详细信息更新注册表和存储库字段。

示例配置:
helm:
  package:
     registry: 'registry.customer.local'
     context: 'as360/charts'
workload:
  affiliatedSidecarsProject: appscan360
  container:
    image:
      registry: 'registry.customer.local'
      repository: 'as360/images'
      pullPolicy: IfNotPresent

工作原理:

  • 主逻辑:系统从此定制文件中读取注册表详细信息。

  • 回退逻辑:如果缺少这些详细信息或文件未配置,则缺省情况下,系统会直接从 HCL Harbour 进行提取(对于现有的客户迁移配置很有用)。

步骤 4:运行安装

在工件同步完成并且配置更新后,执行部署。

从安装目录的根目录运行以下命令:

helmfile sync

接下来会怎样?

Helmfile 将读取您的定制文件,并使用您指定的本地注册表中的映像和图表部署 ASCP、ASRA、DTSC 及 SCA。

包括软件组成分析 (SCA)

软件组成分析 (SCA) 在您使用参数安装 AppScan 360° 时包括在内。
注: 缺省情况下,AppScan 360° 中不包括软件组成分析 (SCA);您必须启用它。
要包括 SCA,请执行以下操作:
includeSCA=true helmfile sync
要禁用 SCA,您必须完全卸载 AppScan 360°
includeSCA=true helmfile destroy
要启用软件组成分析 (SCA) 漏洞数据库的自动更新,请使用正确的凭据设置以下环境变量以指向 HCL Harbor 注册表。
export SCA_AUTOUPDATER_REGISTRY_USERNAME=<HCL_HARBOR_USERNAME>
export SCA_AUTOUPDATER_REGISTRY_PASSWORD=<HCL_HARBOR_PASSWORD>
重要: 如果不设置自动更新,则必须手动更新漏洞数据库。