4. 加载第三方软件

预计完成时间:60 分钟

可操作组件所有者:OELCM/节点

技能配置文件:部署工程师

本页面介绍了如何使用相应的 Google Distributed Cloud (GDC) 经过网闸隔离的发布版 tar 文件加载合作伙伴提供的第三方软件包。本页面的说明旨在供其他页面引用。

术语

  • 合作伙伴软件包:分布式云部署所需的第三方软件包,但未包含在合作伙伴运营的部署版本的发布版 tar 文件中,必须由合作伙伴提供。
  • 加载合作伙伴软件包:一种从分布式云版本 tar 文件中填充工件的过程,其中包含合作伙伴提供的软件包。
  • 合作伙伴软件清单:一个 JSON 文件,用于描述一系列合作伙伴软件包的元数据。这些软件包会加载到相应的 Distributed Cloud 版本 tar 文件中。
  • 合作伙伴软件制品目录:基础设施运营商 (IO) 收集合作伙伴软件包的源目录。
  • 制品根目录:用于提取 Distributed Cloud 版本 tar 文件中的制品的顶级目录。
  • 工作节点:一台配置较高的机器,用于运行命令以提取 Distributed Cloud tar 文件并加载合作伙伴软件包。它可以是系统控制器、引导加载程序或 Operations Suite 基础架构 (OI) 工作站,具体取决于部署环境。

概览

若要使用合作伙伴软件包填充 Distributed Cloud 版本 tar 文件,需要执行两个步骤:

  1. 准备:合作伙伴需要从供应商处获取所需的软件包,并按照说明运行预处理步骤。准备步骤完成后,所有合作伙伴软件包文件都必须放入一个目录中。

  2. 加载:IO 运行命令,以使用合作伙伴提供的软件包填充发布版 tar 文件中的制品。

下表列出了部署场景与所涉及的 Distributed Cloud 版本 tar 文件之间的对应关系。

场景 相应的发布版本 tar 文件 加载合作伙伴软件的说明
设置运维套件基础架构 (OI) 环境 OI 发布版本 tar 文件 prod_partner_OIC_component_bundle.tar.gz 运行 P1 步骤来准备软件包。
运行 L1 步骤以加载软件包。
引导 GDC 环境 GDC 版本 tar 文件 prod_partner_gdch.tar.gz 运行 P2 步骤来准备软件包。
运行 L2 步骤以加载软件包。
升级 GDC 环境 GDC 版本 tar 文件 prod_partner_gdch.tar.gz 运行 P2 步骤以准备软件包。
运行 L2 步骤以加载软件包。
使用 Shell 脚本引导分布式云 分布式云 shell 脚本,例如 rehydrate_siem_apps.sh 运行 P3 步骤来准备软件包。
运行 L3 步骤以加载软件包。

运行 Preparation 步骤的前提条件

运行准备步骤的机器必须具有 bash 环境,例如 Linux 机器或适用于 Linux 的 Windows 子系统 (WSL) 环境。并且必须能够运行所需的命令行工具,包括:

  • gdcloud
  • docker
  • sha256sum
  • jq

通常是用于下载 Distributed Cloud 版本 tar 文件的机器。

所有需要的软件包文件都已准备好,并放在一个名为 ${PARTNER_SOFTWARE_DIR} 的顶级目录中。

对于合作伙伴提供的每款软件,准备步骤包括:

  1. 根据说明从相应供应商处获取预期版本的软件包文件。
  2. 将准备好的软件包文件保存到 ${PARTNER_SOFTWARE_DIR},并使用说明中预期的名称。
  3. 将准备好的软件包文件保存或导出到 ${PARTNER_SOFTWARE_DIR},并使用说明中预期的名称。

准备好所有必需的软件包文件后,您必须验证每个文件是否具有预期的名称、版本和 SHA256 校验和(如果指定),然后才能运行加载这些文件的说明。

验证完成后,所有合作伙伴准备的软件包文件都会安全地转移到加载合作伙伴软件文件的机器上,同时转移的还有分布式云版本 tar 文件。转移通常通过 USB 拇指驱动器进行。如需了解从低到高的文件转移程序,请参阅 OOPS-P0001 流程。

OI 版本发布文件说明

本部分介绍了准备和加载合作伙伴软件软件包以进行 OI 部署的步骤。

P1:准备软件软件包以进行 OI 设置

如需了解准备步骤的概览,请参阅前提条件部分。

此步骤在同一机器上下载相应的 Distributed Cloud 版本 tar 文件后运行。

设置用于存放准备好的软件包的目录。用于准备软件包的示例目录结构如下:

$(pwd)
└── extract  # $EXTRACT_DIR
└── gdch  # $DOWNLOAD_DIR
    └── $GDCH_VERSION  # $GDCH_TAR_DIR
        ├── ...  # Downloaded GDCH release files
    └── partner-software-${GDCH_VERSION?}
        ├── oic  # $PARTNER_SOFTWARE_DIR
        ├── gdch # $PARTNER_SOFTWARE_DIR for P2 step

您必须调整以下导出的变量,以引用实际的目录结构。

GDCH_VERSION=VERSION
DOWNLOAD_DIR=<the parent directory holding the downloaded files, including GDCH release tar files, e.g. $(pwd)/gdch>

# GDCH_TAR_DIR contains the downloaded GDCH release tar files.
export GDCH_TAR_DIR=${DOWNLOAD_DIR?}/${GDCH_VERSION?}

# PARTNER_SOFTWARE_DIR holds the prepared partner software package files.
export PARTNER_SOFTWARE_DIR=${DOWNLOAD_DIR?}/partner-software-${GDCH_VERSION?}/oic
mkdir -p ${PARTNER_SOFTWARE_DIR}

P1.1 按照表中的软件包规范和说明准备软件包

如需准备部署 OI 所需的软件包文件,请针对下表中的每个软件包文件执行以下操作:

客户从 Microsoft 合作伙伴处获取所有 Microsoft 安装介质。 对于 config_mgr_prereqs.zip 文件,应使用 IT Toil Process IT-T0023 准备此文件。

第一个表格包含每个软件包的以下数据:

  1. 预期版本列指定要提取的软件包的目标版本。
  2. 预期文件名列指定了要将软件包保存到的文件名 ${PARTNER_SOFTWARE_DIR}
  3. 预期 SHA256 列指定了准备好的软件包文件的预期 SHA256 校验和。您必须验证准备好的文件是否具有指定的 SHA256 校验和。
  4. 项目网址列指定包含软件包相关信息的网址。
  5. 说明列简要介绍了软件包。

由于文档呈现方面的限制,单独的预期 SHA256 表格指定了准备好的软件包文件的预期 SHA256 校验和。

预期文件名 预期版本 说明 项目网址
MCM_Configmgr_2403.exe 2403 MS Configuration Manager 的安装介质 https://www.microsoft.com/en-us/evalcenter/download-microsoft-endpoint-configuration-manager
SW_DVD9_NTRL_SQL_Svr_Standard_Edtn_2019Dec2019_64Bit_English_OEM_VL_X22-22109.ISO 2019 年 12 月 MS SQL 2019 Standard(英文)的安装介质 https://microsoft.com/sqlserver
SW_DVD9_Win_Pro_11_23H2.11_64BIT_English_Pro_Ent_EDU_N_MLF_X23-86376.ISO 11_23H2.11 安装 MS Windows 11 企业版的媒体 https://www.microsoft.com/en-us/windows
SW_DVD9_Win_Server_STD_CORE_2022_2108.37_64Bit_English_DC_STD_MLF_X23-84195.ISO 2022_2108.37 MS Windows Server 2022 的安装介质 https://www.microsoft.com/en-us/windows-server
SW_DVD9_NTRL_Win_Svr_2022_64Bit_MultiLang_Langpack_FOD_App_Compat_X22-61280.ISO 2022 MS Windows Server 2022 语言包、兼容性模式和可选功能的安装介质。 https://www.microsoft.com/en-us/windows-server
PSTools-2.51.zip 2.51 用于管理窗口的实用程序 https://learn.microsoft.com/en-us/sysinternals/downloads/pstools
force-directed-app-for-splunk_310.tgz 3.1.0 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/3767/
infosec-app-for-splunk_170.tgz 1.7.0 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/4240/
linux-auditd_310.tgz 3.1.0 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/2642/
linux-auditd-technology-add-on_312.tgz 3.1.2 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/4232/
palo-alto-networks-add-on-for-splunk_13.tgz 8.1.3 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/2757/
palo-alto-networks-app-for-splunk_813.tgz 8.1.3 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/491/
punchcard-custom-visualization_150.tgz 1.5.0 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/3129/
servicenow-security-operations-addon_1401.tgz 1.40.2 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/3921/
servicenow-security-operations-event-ingestion-addon-for-splunk-enterprise_14.tgz 1.4.0 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/4412/
splunk-add-on-for-microsoft-security_232.tgz 2.3.0 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/6207/
splunk-add-on-for-microsoft-windows_900.tgz 9.0.0 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/742/
splunk-add-on-for-stream-forwarders_813.tgz 8.1.3 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/5238/
splunk-add-on-for-stream-wire-data_813.tgz 8.1.3 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/5234/
splunk-app-for-stream_813.tgz 8.1.3 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/1809/
splunk-common-information-model-cim_532.tgz 5.3.2 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/1621/
splunk-es-content-update_4420.tgz 4.42.0 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/3449/
splunk-machine-learning-toolkit_550.tgz 5.5.0 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/2890/
splunk-sankey-diagram-custom-visualization_160.tgz 1.6.0 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/3112/
splunk-security-essentials_381.tgz 3.8.1 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/3435/
splunk-supporting-add-on-for-active-directory_310.tgz 3.1.0 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/1151/
splunk-timeline-custom-visualization_162.tgz 1.6.2 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/3120/
ta-for-microsoft-windows-defender_108.tgz 1.0.8 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/3734/
tenable-add-on-for-splunk_700.tgz 7.0.0 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/4060/
tenable-app-for-splunk_605.tgz 6.0.5 Splunk Dashboard App(适用于 1.14.7 及更高版本) https://splunkbase.splunk.com/app/4061/
splunk-9.4.2-e9664af3d956-windows-x64.msi 9.4.2 Splunk 集群的 Splunk Enterprise 安装程序(适用于 1.14.7 及更高版本) https://www.splunk.com/
splunkforwarder-9.3.1-0b8d769cb912-x64-release.msi 9.3.1 适用于所有 Windows 机器的 Splunk 代理(适用于 1.14.7 及更高版本) https://www.splunk.com/
软件包 预期 SHA256 值
MCM Configmgr 480a0bb68cc12fa9cca274ec2b003b7c3776b6c6613f5475ed0872b252e6c8e2
SQL 2019 668048e3104a89eb08adf6823ab5a9f3b168c2aa2351cd58758162207b30772c
Win 11 企业版 6f6fa9e800ec7151ca763091c81cdeef1008e1d7026544cbdd3ba4b5ed59170f
Win Server 2022 48e2eee1f5fd916cae89766520b825f1ee14062bac2bd5b74d8ba07c3b64abcd
Win Server 2022 语言包 850a318c277f9b0d7436031efd91b36f5d27dad6e8ea9972179204a3fc756517
PSTools a9ca77dfe03ce15004157727bb43ba66f00ceb215362c9b3d199f000edaa8d61
Force Directed App for Splunk f763bb89548b85f87a0c7f7d05b6a2be4c0f4a738afee151133c2c3ad931f0d1
InfoSec App for Splunk 36eccfbc8c1b0a7e45517affa0293f8f068dd0c52ed67382bdaf07a57f401361
Linux Auditd 1493389d0289ec8bb8a5adcc009d257944194c943ddbf1bd1041705463420ecd
Linux Auditd 技术插件 279cb365d6176e595ec2f9d1a86e2e1cd14f4d9521794dfd9912bb35bbf3c323
Palo Alto Networks 加购项 243e52326e35ae34f17798d753ba7195402dfb0ad4be16ea07c29eb47f1b8850
Palo Alto Networks 应用 7475bdeadefb71e4c9fab2fb84382fbffa33a0b6977fd77e2cb10ebd643fd2dc9
Punchcard 自定义可视化图表 2933475935a50ca513ccba6e28910a969ca3d849a967d3709745a975c179764d
ServiceNow Security Operations 加购项 d272d6a58fa423defdb229c615794a8c258c33de0429fc60619cfb007e0e2e4e
ServiceNow 事件提取 14b7b1e38ecdfe25e183ad92b4a231e5a5f8d9fea4a6771e1b41c24f93a59d17
Microsoft 安全插件 31b4b2630d04fcd5cab28ad977779e4f31a367a1603a3b030482c32ca7021af4
Microsoft Windows 加购项 fef3214da64838039e11e3a163527c6d907d604ceddd1482850df546f3341047
Stream Forwarders 插件 aae74100dbdd08ed207b4ed9cbfc8db4b4c757b2aeebba48dffe7a42f6fbd6e2
Stream Wire Data 插件 4e212d6b07384446fb5e2109d11741ab020ec0e0d000aa780abca27a0faa984c
Splunk App for Stream 593362ff6a17835c1279f0ec9b1d20a8a247aca9cdce172332a97c35155169f7
通用信息模型 (CIM) bdb7bc5f3d0e784992ef1e9c824b0a34a486d5996a558cbb1465318346f4d52b
ES 内容更新 911ccc995eca4ec930140c25ef3fe15c0a3169331002865ab8d77f065bec019b
机器学习工具包 d84055987a668ed41b3862c2e7fdb989670b73379d8531149d10863b9f5408ef
桑基图 d240d4c660a5466c56b28929f188d86ad68eef5fc0d3440680a798dd2f6a55b2
安全基础知识 9f0ed72e69db128b71d4e31795567e1523f1f2a367ef5ff51d380807c8dab358
Active Directory 加购项 f0df012cf146d3df74c1b617be447092fb5b92b505a8fa935463f658d821169f
时间轴自定义可视化图表 578b8d200d93b2447ebac1d05f5a3ce5d88deab158422785dbda1d2a1d95c912
Windows Defender 加购项 5c3d69a4e98d3b8dc969a4f0412870936070112cb8150697d08d9335d2e25206
Tenable 加购项 73d75588fd57a91a4e5d804006c0236cd1cb3fda139477b7bb8d085c66ec65c7
Tenable 应用 26bc39b3f41661eb5e68354636e8d36ef2df0124ee8006abc7cba47f62e5c4d1
Splunk Enterprise a949e8e07ef54f9c76bfdfe6070d9b71f5f815b3f79e429d8d1983226f3918e9
通用转发器 db06ad3a0b05413e65f9fcccba7f12532bdb83ec8bc33f06bb2cddbf3e021949

P1.2:验证准备好的软件包

为了验证软件包,系统必须从下载的 Distributed Cloud 版本 tar 文件中提取脚本和元数据文件。

EXTRACT_DIR=$(pwd)/extract/${GDCH_VERSION?}
mkdir -p ${EXTRACT_DIR?}

RELEASE_PREFIX="prod_partner_"
# The command is going to take long time.
tar -I pigz -xvf ${GDCH_TAR_DIR?}/${RELEASE_PREFIX}OIC_component_bundle.tar.gz -C ${EXTRACT_DIR?} ./release/scripts ./release/partner_software_metadata --strip-components 2

然后运行命令进行验证:

${EXTRACT_DIR?}/scripts/verify_package_files.sh ${EXTRACT_DIR}/partner_software_metadata/OIC_component_partner_software_info.json

在继续执行下一步之前,您必须准备好预期版本的软件包,以确认并修正所有验证错误。对于已知偏离预期版本的软件包,可以忽略相应的校验和验证错误,但您必须确保准备的文件能够正常运行。

P1.3:转移准备好的软件包

验证完成后,${PARTNER_SOFTWARE_DIR} 中的合作伙伴软件包需要传输到 Google Distributed Cloud (GDC) 网闸隔离环境中的目标机器,在该环境中运行加载步骤,同时传输 ${GDCH_TAR_DIR} 中的 OI 版本 tar 文件 prod_partner_OIC_component_bundle.tar.gz

合作伙伴软件包和发布版 tar 文件位于共同的父目录 ${DOWNLOAD_DIR} 中,可以通过同一流程进行转移。

P2:为 Distributed Cloud 准备软件包

如需了解准备步骤的概览,请参阅前提条件部分。

设置用于存放准备好的软件包的目录。您必须调整以下导出的变量,以引用实际的目录结构。

  GDCH_VERSION=VERSION
  DOWNLOAD_DIR=<the parent directory holding the downloaded files, including GDCH release tar files, e.g. $(pwd)/gdch>

  # GDCH_TAR_DIR contains the downloaded GDCH release tar files.
  export GDCH_TAR_DIR=${DOWNLOAD_DIR?}/${GDCH_VERSION?}

  # PARTNER_SOFTWARE_DIR contains the prepared partner software package files.
  export PARTNER_SOFTWARE_DIR=${DOWNLOAD_DIR?}/partner-software-${GDCH_VERSION?}/gdch
  mkdir -p ${PARTNER_SOFTWARE_DIR}

运行以下命令,拉取所需的 Docker 映像并将其导出到相应的 tar 文件:

  EXTRACT_DIR=$(pwd)/extract/${GDCH_VERSION?}
  mkdir -p ${EXTRACT_DIR?}

  RELEASE_PREFIX="prod_partner_"
  # The command is going to take long time.
  tar -I pigz -xvf ${GDCH_TAR_DIR?}/${RELEASE_PREFIX}gdch.tar.gz -C ${EXTRACT_DIR?} ./release/scripts ./release/partner_software_metadata --strip-components 2

  ${EXTRACT_DIR?}/scripts/save_container_images.sh ${EXTRACT_DIR}/partner_software_metadata/gdch_partner_container_info.json

P3:为 Distributed Cloud 准备其他软件包

此步骤通常在用于设置 OI 的系统控制器中运行。必须满足以下前提条件:

  • 发布版 tar 文件已转移到系统控制器,并已提取到本地目录。
  • 合作伙伴软件包文件已转移到同一台机器上的本地目录。
  • 请确保已从 Splunk 下载所有文件,然后再继续操作
  • 所有之前的加载步骤都已完成

与上一步一样,您必须调整以下导出的变量,以引用实际的目录结构。

GDCH_VERSION=VERSION
EXTRACT_DIR=<the parent directory containing the directories for extracted GDCH release files and partner software files, e.g. $(pwd)/gdch>

# ARTIFACTS_ROOT is the directory containing the extracted GDCH release files.
export ARTIFACTS_ROOT=${EXTRACT_DIR?}/full-release-${GDCH_VERSION?}

# PARTNER_SOFTWARE_DIR contains the partner software package files.
export PARTNER_SOFTWARE_DIR=${EXTRACT_DIR?}/partner-software-${GDCH_VERSION?}/oic

确保 ${ARTIFACTS_ROOT}/operations_center 包含 mandiantsecops_heavyfwd.tgz

[[ -f "${ARTIFACTS_ROOT}/operations_center/mandiantsecops_heavyfwd.tgz" ]] && echo "File exists." || echo "File does not exist."

L1:加载软件软件包以进行 OI 设置

此步骤通常在用于设置 OI(称为工作机器)的系统控制器中运行。必须满足以下前提条件:

  • 发布版 tar 文件已转移到工作机器,并根据提取流程提取到本地目录 ${ARTIFACTS_ROOT}
  • 合作伙伴软件包文件已转移到同一台机器上的本地目录 ${PARTNER_SOFTWARE_DIR}

用于加载合作伙伴软件包的目录结构示例如下:

$(pwd)
└── gdch  # $EXTRACT_DIR
    └── full-release-$GDCH_VERSION  # $ARTIFACTS_ROOT
        ├── ...  # Extracted GDCH release files
    └── partner-software-${GDCH_VERSION?}
        ├── oic  # $
        ├── gdch # $PARTNER_SOFTWARE_DIR for L2/L3 step

您必须调整以下导出的变量,以引用实际的目录结构。

GDCH_VERSION=VERSION
EXTRACT_DIR=<the parent directory containing the directories for extracted GDCH release files and partner software files, e.g. $(pwd)/gdch>

# ARTIFACTS_ROOT is the directory containing the extracted GDCH release files.
export ARTIFACTS_ROOT=${EXTRACT_DIR?}/full-release-${GDCH_VERSION?}

# PARTNER_SOFTWARE_DIR contains the partner software package files.
export PARTNER_SOFTWARE_DIR=${EXTRACT_DIR?}/partner-software-${GDCH_VERSION?}/oic

在工作机器中,运行以下命令以加载部署 OI 所需的合作伙伴软件:

${ARTIFACTS_ROOT}/gdcloud system partner-software load --manifest=${ARTIFACTS_ROOT}/partner_software_metadata/OIC_component_partner_software_info.json "${PARTNER_SOFTWARE_DIR}" "${ARTIFACTS_ROOT}"

成功运行该命令后,${ARTIFACTS_ROOT}/operations_center 会填充 OI 的合作伙伴软件包。

如果命令因验证错误而失败,您必须检查这些错误。 错误通常是由于以下原因造成的:

  • 缺少部分软件包文件。
  • 软件软件包文件的版本不符合预期。

您需要通过准备预期版本的软件包来修正错误。

  # This is a fallback approach to load the partner software packages to deploy OI
  ${ARTIFACTS_ROOT}/scripts/load_raw_packages.sh ${ARTIFACTS_ROOT}/partner_software_metadata/OIC_component_partner_software_info.json

GDC 发布文件的说明

本部分介绍了加载合作伙伴软件软件包以进行 GDC 部署的步骤。

L2:加载 GDC 部署的软件包

工作节点上运行此步骤,该节点是用于引导部署的引导加载程序机器,或用于升级的 OI 工作站。

前提条件:

  • 发布版 tar 文件已转移到工作节点,并已提取到本地目录。
  • 合作伙伴软件包文件已转移到工作节点中的本地目录。
  • jqdocker 命令可在工作节点中使用。

您必须调整以下导出的变量,以引用实际的目录结构。

GDCH_VERSION=VERSION
EXTRACT_DIR=<the parent directory containing the directories for extracted GDCH release files and partner software files, e.g. $(pwd)/gdch>

# ARTIFACTS_ROOT is the directory containing the extracted GDCH release files.
export ARTIFACTS_ROOT=${EXTRACT_DIR?}/full-release-${GDCH_VERSION?}

# PARTNER_SOFTWARE_DIR contains the partner software package files.
export PARTNER_SOFTWARE_DIR=${EXTRACT_DIR?}/partner-software-${GDCH_VERSION?}/gdch

L2.1:加载 Distributed Cloud 部署所需的合作伙伴容器映像

L2.1.1 设置 Docker 配置
  • 对于引导过程,加载步骤在引导加载程序机器上运行,容器映像加载到引导加载程序 Harbor 注册表中,该注册表将在后续部署步骤中分发到根管理员 Harbor 注册表。

    export REGISTRY_ADDR=$(cat /root/.docker/config.json | jq -r '.auths | keys[]' | head -1)
    

    您必须仔细检查 REGISTRY_ADDR 是否与引导加载程序机器的 IP 地址一致:

    ip -4 -br a s | grep "$REGISTRY_ADDR"
    
  • 在升级过程中,加载步骤在 OI 工作站上运行,容器映像将加载到根管理员 Harbor 注册表中。

    rac_kubeconfig=<KUBECONFIG_PATH to the root admin cluster>
    alias kr="kubectl --kubeconfig=${rac_kubeconfig?}"
    
    export REGISTRY_ADDR=$(echo \
      $(kr get harborcluster harbor -n harbor-system -o jsonpath='{.spec.externalURL}') \
      | sed s#https://##)
    echo "Using harbor registry in ${REGISTRY_ADDR}"
    
    export KUBECONFIG=${rac_kubeconfig?}
    cp ${ARTIFACTS_ROOT}/docker-credential-gdcloud /usr/bin
    export API_GROUP=public
    ${ARTIFACTS_ROOT}/gdcloud auth configure-docker
    unset API_GROUP
    
L2.1.2 将合作伙伴提供的容器映像加载到 Harbor 注册表中。
  export PROJECT=library
  export PARTNER_CONTAINER_IMAGES_FILE=${ARTIFACTS_ROOT}/partner_software_metadata/gdch_partner_container_info.json

  ${ARTIFACTS_ROOT}/scripts/load_container_images.sh ${PARTNER_CONTAINER_IMAGES_FILE}

L2.2:验证合作伙伴容器映像是否已成功加载

您必须验证所加载的合作伙伴容器映像是否可以从根管理员裸金属节点成功拉取。

如需确定要拉取的容器映像列表,请使用:

  jq -r  '.[]? | [.image] | join(",")' "$PARTNER_CONTAINER_IMAGES_FILE"

如需验证,请通过 SSH 连接到根管理员裸金属节点,并确保以下命令针对每个已加载的容器映像成功返回:

  crictl pull ${container_image_path}

L3:为 Distributed Cloud 加载其他软件包

  • 导航到 ${ARTIFACTS_ROOT}/scripts/
  • 确保已为配置输入正确的文件名(例如 OC_LINUX_AUDITD_NAME=<file name on machine>)。
  • 确保已填充默认值(例如 PARTNER_SOFTWARE_DIR)。
  • 最后,使用配置脚本运行 rehydrate_siem_apps.sh 脚本(用于 -c 实参)。
cd ${ARTIFACTS_ROOT}/scripts
chmod +x rehydrate_siem_apps.sh
./rehydrate_siem_apps.sh -c rehydrate_siem_apps.conf

在输出文件中,它会提供 Docker 映像的上传位置。此映像是一种特殊的 OCI Tarball 映像,不应使用 docker pull 拉取,而是会自动使用。