上架软件包

Alauda AI 组件以平台软件包的形式交付。在安装 operator 或集群插件之前,请从 customer portal 下载软件包,并使用 violet 打包工具将其上架到目标集群。

本页介绍通用的软件包工作流。有关组件特定的前置条件、安装设置和自定义资源,请在上传软件包后,继续查看该组件的安装页面。

下载软件包

Customer Portal 的 Marketplace 下载所需组件和版本的软件包:

  • 下载与 Alauda AI release 和目标架构匹配的软件包。
  • 对于从 OperatorHub 安装的组件,请使用 OLM operator bundle
  • 对于从 Cluster Plugins 安装的组件,请使用 Cluster Plugin 软件包。
  • 将下载的软件包保存在你运行 violet 的机器上。

确切的软件包文件名和版本会随对应的产品 release 一同提供。不要用其他 Alauda AI release 中的软件包替代。

下载 violet 工具

如果用于上架软件包的机器上尚未提供 violet,请先下载它。

在 Web Console 中,切换到 Administrator 视图:

  1. 单击 Marketplace > Upload Packages

  2. 单击 Download Packaging and Listing Tool

  3. Execution Environment 下找到正确的操作系统和 CPU 架构。

  4. 单击 Download

  5. 使下载的文件可执行:

    chmod +x <path-to-violet>

上传软件包

使用以下命令将 operator 或 Cluster Plugin 软件包上传到目标集群:

violet push \
  <package> \
  --platform-address=<platform-access-address> \
  --platform-username=<platform-admin> \
  --platform-password=<platform-admin-password> \
  --clusters=<target-cluster>

将占位符替换为平台地址、平台管理员凭据、目标集群名称以及本地软件包路径。软件包会上传到平台仓库,并可在所选集群上进行安装。

INFO

对于平台内置的 registry,不需要额外的 registry 参数。violet 会将软件包中包含的镜像重新定位到平台 registry 中,这样在安装 operator 或 Cluster Plugin 时,就无需从其原始 registry 拉取这些镜像。

上传到外部 registry

如果目标集群使用外部私有或公共 registry,而不是平台内置的 registry,请提供目标 registry 及其凭据:

violet push \
  <package> \
  --platform-address=<platform-access-address> \
  --platform-username=<platform-admin> \
  --platform-password=<platform-admin-password> \
  --clusters=<target-cluster> \
  --dst-repo=<external-registry-address> \
  --username=<registry-username> \
  --password=<registry-password>

请使用目标集群可以访问并拉取的 registry 地址。在安装组件之前,请确认软件包所需的所有镜像都已存在于目标 registry 中。

上传多个软件包

你可以使用 shell 脚本上传多个软件包。设置平台变量,并将每个下载的软件包添加到 PACKAGES 数组中:

uploading-packages.sh
#!/usr/bin/env bash
set -euo pipefail

PLATFORM_ADDRESS=https://<platform-access-address>
PLATFORM_ADMIN_USER=<platform-admin>
PLATFORM_ADMIN_PASSWORD=<platform-admin-password>
CLUSTER=<target-cluster>

PACKAGES=(
  <path-to-package-1>
  <path-to-package-2>
)

VIOLET_EXTRA_ARGS=()
# Uncomment and set these values when the target cluster uses an external registry.
# VIOLET_EXTRA_ARGS+=(
#   --dst-repo=<external-registry-address>
#   --username=<registry-username>
#   --password=<registry-password>
# )

for PACKAGE in "${PACKAGES[@]}"; do
  violet push \
    "$PACKAGE" \
    --platform-address="${PLATFORM_ADDRESS}" \
    --platform-username="${PLATFORM_ADMIN_USER}" \
    --platform-password="${PLATFORM_ADMIN_PASSWORD}" \
    --clusters="${CLUSTER}" \
    "${VIOLET_EXTRA_ARGS[@]}"
done

使用以下命令运行脚本:

bash ./uploading-packages.sh
WARNING

请保护平台和 registry 密码。不要将包含真实凭据的脚本提交到源代码管理中,也不要将其分享给授权安装团队以外的人员。

安装已上传的组件

上传完成后,在 Web Console 中打开目标集群:

  • 对于 OLM operator,请转到 Administrator > Marketplace > OperatorHub,选择已上传的组件并安装。然后根据组件文档,按需创建其自定义资源。
  • 对于 Cluster Plugin,请转到 Administrator > Marketplace > Cluster Plugins,并根据平台文档安装已上传的组件。

如果该组件或版本未显示,请验证软件包上传是否成功、所选集群是否正确,以及软件包是否与目标平台架构和 release 匹配。