安装 Alauda AI

在要使用 Alauda AI 的集群中,需要部署以下两个 operator:

  1. Alauda AI Operator

Alauda AI Operator 是为 Alauda AI 产品提供支撑的核心引擎。它专注于两个核心功能:模型管理和推理服务,并提供了一个可轻松扩展的灵活框架。

  1. Alauda AI Model Serving Operator

Alauda AI Model Serving Operator 提供 serverless 模型推理能力。

INFO

在 Alauda AI 的部署过程中,Alauda AI Model Serving Operator 将会自动部署,无需手动操作或更改配置。

下载

INFO

你可以从 Customer Portal 网站上的 Marketplace 下载 “Alauda AI” 和 “Alauda AI Model Serving”。请按照以下步骤操作:

  1. 下载名为 “AI” 的应用。
  2. 解压下载的文件,获取 aml-operator.xxx.tgzkserveless-operator.xxx.tgz 软件包。

上传

我们需要将 Alauda AIAlauda AI Model Serving 一并上传到要使用 Alauda AI 的集群中。

下载 violet 工具

首先,如果机器上没有 violet 工具,需要先下载。

登录 Web Console,并切换到 Administrator 视图:

  1. 单击 Marketplace / Upload Packages
  2. 单击 Download Packaging and Listing Tool
  3. Execution Environment 下找到正确的 OS / CPU architecture。
  4. 单击 Download 下载 violet 工具。
  5. 运行 chmod +x ${PATH_TO_THE_VIOLET_TOOL} 使该工具可执行。

上传软件包

先将以下脚本保存为 uploading-ai-cluster-packages.sh,然后根据下面的注释更新该脚本中的环境变量进行配置。

uploading-ai-cluster-packages.sh
#!/usr/bin/env bash
export PLATFORM_ADDRESS=https://platform-address  
export PLATFORM_ADMIN_USER=<admin>
export PLATFORM_ADMIN_PASSWORD=<admin-password>
export CLUSTER=<cluster-name>

export AI_CLUSTER_OPERATOR_NAME=<path-to-aml-operator-tarball>
export KSERVELESS_OPERATOR_PKG_NAME=<path-to-kserveless-operator-tarball>

VIOLET_EXTRA_ARGS=()
IS_EXTERNAL_REGISTRY=

# If the image registry type of destination cluster is not platform built-in (external private or public repository).
# Additional configuration is required (uncomment following line):
# IS_EXTERNAL_REGISTRY=true
if [[ "${IS_EXTERNAL_REGISTRY}" == "true" ]]; then
    REGISTRY_URL=<external-registry-url>
    REGISTRY_USERNAME=<registry-username>
    REGISTRY_PASSWORD=<registry-password>

    VIOLET_EXTRA_ARGS+=(
        --dst-repo "${REGISTRY_ADDRESS}"
        --username "${REGISTRY_USERNAME}"
        --password "${REGISTRY_PASSWORD}"
    )
fi

# Push **Alauda AI Cluster** operator package to destination cluster
violet push \
    ${AI_CLUSTER_OPERATOR_NAME} \
    --platform-address=${PLATFORM_ADDRESS} \
    --platform-username=${PLATFORM_ADMIN_USER} \
    --platform-password=${PLATFORM_ADMIN_PASSWORD} \
    --clusters=${CLUSTER} \
    ${VIOLET_EXTRA_ARGS[@]}

# Push **KServeless** operator package to destination cluster
violet push \
    ${KSERVELESS_OPERATOR_PKG_NAME} \
    --platform-address=${PLATFORM_ADDRESS} \
    --platform-username=${PLATFORM_ADMIN_USER} \
    --platform-password=${PLATFORM_ADMIN_PASSWORD} \
    --clusters=${CLUSTER} \
    ${VIOLET_EXTRA_ARGS[@]}
  1. ${PLATFORM_ADDRESS} 是你的 ACP 平台地址。
  2. ${PLATFORM_ADMIN_USER} 是 ACP 平台管理员的用户名。
  3. ${PLATFORM_ADMIN_PASSWORD} 是 ACP 平台管理员的密码。
  4. ${CLUSTER} 是要安装 Alauda AI 组件的集群名称。
  5. ${AI_CLUSTER_OPERATOR_NAME} 是 Alauda AI Cluster Operator 软件包 tarball 的路径。
  6. ${KSERVELESS_OPERATOR_PKG_NAME} 是 KServeless Operator 软件包 tarball 的路径。
  7. ${REGISTRY_ADDRESS} 是外部 registry 的地址。
  8. ${REGISTRY_USERNAME} 是外部 registry 的用户名。
  9. ${REGISTRY_PASSWORD} 是外部 registry 的密码。

配置完成后,执行脚本文件 bash ./uploading-ai-cluster-packages.sh,以上传 Alauda AIAlauda AI Model Serving operator。

安装 Alauda AI Operator

操作步骤

Administrator 视图中:

  1. 单击 Marketplace / OperatorHub

  2. 在控制台顶部,从 Cluster 下拉列表中选择要安装 Alauda AI 的目标集群。

  3. 选择 Alauda AI,然后单击 Install

    将弹出 Install Alauda AI 窗口。

  4. 然后在 Install Alauda AI 窗口中。

  5. 保持 Channel 不变。

  6. 检查 Version 是否与要安装的 Alauda AI 版本匹配。

  7. 保持 Installation Location 不变,默认应为 aml-operator

  8. Upgrade Strategy 选择为 Manual

  9. 单击 Install

验证

确认 Alauda AI 磁贴显示以下状态之一:

  • Installing:安装正在进行中;等待其变为 Installed
  • Installed:安装已完成。

创建 Alauda AI 实例

安装 Alauda AI Operator 后,你就可以创建 Alauda AI 实例。

操作步骤

Administrator 视图中:

  1. 单击 Marketplace / OperatorHub

  2. 在控制台顶部,从 Cluster 下拉列表中选择要安装 Alauda AI Operator 的目标集群。

  3. 选择 Alauda AI,然后单击。

  4. Alauda AI 页面中,单击选项卡中的 All Instances

  5. 单击 Create

    将弹出 Select Instance Type 窗口。

  6. Select Instance Type 窗口中找到 AmlCluster 磁贴,然后单击 Create

    将显示 Create AmlCluster 表单。

  7. 保持 Name 的值 default 不变。

  8. 从下拉菜单中选择 Deploy Flavor

    1. 非 HA 部署选择 single-node
    2. HA 集群部署选择 ha-cluster(生产环境推荐)。
  9. Knative Serving Mode 选择为 Managed

  10. KServe Mode 选择为 Managed

  11. Domain 字段中输入一个有效的域名。

    INFO

    此域名由 ingress gateway 用于暴露模型推理服务。 通常,你会希望使用通配符名称,例如 *.example.com。

    你可以通过更新 Domain Certificate Type 字段指定以下证书类型:

    • Provided
    • SelfSigned
    • ACPDefaultIngress

    默认情况下,配置会使用 SelfSigned 证书类型来保护到集群的 ingress 流量,证书存储在 Domain Certificate Secret 字段中指定的 knative-serving-cert secret 里。

    若要使用你自己提供的证书,请将证书 secret 存储在 istio-system namespace 中,然后更新 Domain Certificate Secret 字段的值,并将 Domain Certificate Secret 字段的值改为 Provided

  12. Gitlab 部分:

    1. Base URL 中输入自托管 Gitlab 的 URL。
    2. Admin Token Secret Namespace 中输入 cpaas-system
    3. Admin Token Secret Name 中输入 aml-gitlab-admin-token
  13. MySQL 部分:

    1. Host 字段中输入 MySQL 实例的 address
    2. Port 字段中输入 MySQL 实例的 port(默认:3306)。
    3. Username 字段中输入用于连接 MySQL 实例的 user
    4. Database 字段中输入用于 Alauda AIdatabase(默认:aml)。
    5. Password Secret Namespace 字段中选择该 user 的密码 secret 所在 namespace。
    6. Password Secret Name 字段中输入该 user 的密码 secret 名称。
    INFO

    关于 MySQL user 权限

    • MySQL 实例的 user 应具有 DDL 权限。
    • 建议先创建 database,然后授予 user 对该 database 的访问权限。
    • 如果尚未创建 database,则 user 需要具有 CREATE DATABASE 权限来创建该 database
  14. 检查以上配置,然后单击 Create

验证

检查名为 defaultAmlCluster 资源的状态字段:

kubectl get amlcluster default

应返回 Ready

NAME      READY   REASON
default   True    Succeeded

现在,Alauda AI 的核心能力已经成功部署。如果你想快速体验产品,请参考 快速开始

安装后替换 GitLab Service

如果你想在安装后替换 GitLab Service,请按照以下步骤操作:

  1. 重新配置 GitLab Service 参考 安装前配置,并重新执行其中的步骤。

  2. 更新 Alauda AI 实例

    • 在 Administrator 视图中,导航到 Marketplace > OperatorHub
    • Cluster 下拉菜单中选择目标集群
    • 选择 Alauda AI,然后单击 All Instances 选项卡
    • 找到 'default' 实例并单击 Update
  3. 修改 GitLab 配置Update default 表单中:

    • 找到 GitLab 部分
    • 输入:
      • Base URL:你的新 GitLab 实例的 URL
      • Admin Token Secret Namespacecpaas-system
      • Admin Token Secret Nameaml-gitlab-admin-token
  4. 重启组件 重启 kubeflow namespace 中的 aml-controller deployment。

  5. 刷新平台数据 在 Alauda AI 管理视图中,重新管理所有 namespace。

    • 在 Alauda AI 视图中,从 Business View 导航到 Admin 视图
    • Namespace Management 页面中,删除所有已存在的 managed namespaces
    • 使用 "Managed Namespace" 添加需要 Alauda AI 集成的 namespaces
      INFO

      原始模型不会自动迁移 如需继续使用这些模型:

      • 在新的 GitLab 中重新创建并重新上传,或者
      • 手动将模型文件迁移到新的 repository