安装 Alauda AI

Alauda AI 现提供灵活的部署选项。从 Alauda AI 1.4 版本开始,Knative 功能成为可选项,如果不需要该功能,可以实现更简化的安装流程。

首先,您需要部署 Alauda AI Operator。这是所有 Alauda AI 产品的核心引擎。默认情况下,它使用 KServeStandard 模式作为推理后端,特别推荐用于资源密集型的生成式工作负载。该模式提供了一种简便的模型部署方式,并通过利用 Kubernetes 的基础功能,提供强大且可定制的部署能力。

如果您的使用场景需要 Knative 功能(如按需零实例扩缩以优化成本),可以选择性地安装 Knative Operator。该 Operator 不包含在默认安装中,可随时添加以启用 Knative 功能。

INFO

推荐部署选项:对于生成式推理工作负载,推荐使用 Standard 方式(之前称为 RawKubernetes Deployment),因为它提供了对资源分配和扩缩的最大控制。

下载

Operator 组件

  • Alauda AI Operator

    Alauda AI Operator 是驱动 Alauda AI 产品的主引擎,聚焦于模型管理和推理服务两大核心功能,提供灵活且易于扩展的框架。

    下载包:aml-operator.xxx.tgz

  • Knative Operator

    Knative Operator 提供无服务器模型推理能力。

    下载包:knative-operator.ALL.v1.x.x-yymmdd.tgz

INFO

您可以在 Customer Portal 网站的 Marketplace 中下载名为 “Alauda AI” 和 “Knative Operator” 的应用。

上传

需要将 Alauda AIKnative Operator 两个包上传到将要使用 Alauda AI 的集群中。

下载 violet 工具

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

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

  1. 点击 Marketplace / Upload Packages
  2. 点击 Download Packaging and Listing Tool
  3. Execution Environment 下找到对应的操作系统 / CPU 架构。
  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 KNATIVE_OPERATOR_PKG_NAME=<path-to-knative-operator-tarball>

VIOLET_EXTRA_ARGS=()
IS_EXTERNAL_REGISTRY=

# 如果目标集群的镜像仓库类型不是平台内置(外部私有或公共仓库),
# 需要额外配置(取消下面一行注释):
# IS_EXTERNAL_REGISTRY=true
if [[ "${IS_EXTERNAL_REGISTRY}" == "true" ]]; then
    REGISTRY_ADDRESS=<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

# 推送 **Alauda AI Cluster** operator 包到目标集群
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[@]}

# 推送 **Knative Operator** 包到目标集群
violet push \
    ${KNATIVE_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 包的路径。
  6. ${KNATIVE_OPERATOR_PKG_NAME} 是 Knative Operator 包的路径。
  7. ${REGISTRY_ADDRESS} 是外部镜像仓库地址。
  8. ${REGISTRY_USERNAME} 是外部镜像仓库用户名。
  9. ${REGISTRY_PASSWORD} 是外部镜像仓库密码。

配置完成后,执行脚本 bash ./uploading-ai-cluster-packages.sh,上传 Alauda AIKnative 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. 选择 Manual 作为 Upgrade Strategy

  9. 点击 Install

验证

确认 Alauda AI 卡片显示以下状态之一:

  • Installing:安装中,等待状态变为 Installed
  • Installed:安装完成。

启用 Knative 功能

Knative 功能为可选功能,需要额外部署 Operator 和实例。

WARNING

如果计划使用 Knative 功能,必须先安装 Knative Operator 并创建 Knative Serving 实例,创建 Alauda AI 实例,以确保集群中存在所需的 CRD。

1. 安装 Knative Operator

INFO

Knative Operator 版本开始,Knative 网络层切换为 Kourier,因此不再需要安装 Istio

操作步骤

Administrator 视图:

  1. 点击 Marketplace / OperatorHub

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

  3. 搜索并选择 Knative Operator,然后点击 Install

    会弹出 Install Knative Operator 窗口。

  4. Install Knative Operator 窗口中:

  5. 保持 Channel 不变。

  6. 检查 Version 是否与您要安装的 Knative Operator 版本匹配。

  7. 保持 Installation Location 不变。

  8. 选择 Manual 作为 Upgrade Strategy

  9. 点击 Install

验证

确认 Knative Operator 卡片显示以下状态之一:

  • Installing:安装中,等待状态变为 Installed
  • Installed:安装完成。

2. 创建 Knative Serving 实例

安装完 Knative Operator 后,需要手动创建 KnativeServing 实例。

操作步骤

  1. 创建 knative-serving 命名空间。

    kubectl create ns knative-serving
  2. Administrator 视图,导航至 Operators -> Installed Operators

  3. 选择 Knative Operator

  4. Provided APIs 下找到 KnativeServing,点击 Create Instance

  5. 切换到 YAML view

  6. 替换内容为以下 YAML:

  7. 点击 Create

    apiVersion: operator.knative.dev/v1beta1
    kind: KnativeServing
    metadata:
      name: knative-serving
      namespace: knative-serving
    spec:
      # ACP 4.0 使用版本 1.18.1
      # ACP 4.1 及以上使用版本 1.19.6
      version: "1.18.1"
      config:
        deployment:
          registries-skipping-tag-resolving: kind.local,ko.local,dev.local,private-registry
        domain:
          example.com: ""
        features:
          kubernetes.podspec-affinity: enabled
          kubernetes.podspec-hostipc: enabled
          kubernetes.podspec-hostnetwork: enabled
          kubernetes.podspec-init-containers: enabled
          kubernetes.podspec-nodeselector: enabled
          kubernetes.podspec-persistent-volume-claim: enabled
          kubernetes.podspec-persistent-volume-write: enabled
          kubernetes.podspec-securitycontext: enabled
          kubernetes.podspec-tolerations: enabled
          kubernetes.podspec-volumes-emptydir: enabled
          queueproxy.resource-defaults: enabled
        network:
          domain-template: '{{.Name}}.{{.Namespace}}.{{.Domain}}'
          ingress-class: kourier.ingress.networking.knative.dev
      ingress:
        kourier:
          enabled: true
  1. ACP 4.0 保持版本为 "1.18.1"。ACP 4.1 及以上版本改为 "1.19.6"。

  2. private-registry 是您的私有仓库地址占位符。可在 Administrator 视图点击 Clusters,选择您的集群,在 Basic Info 中查看 Private Registry 值。

创建 Alauda AI 实例

安装完 Alauda AI Operator(以及可选的 Knative 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. 保持 Namedefault

  8. 从下拉列表选择 Deploy Flavor

    1. single-node:非高可用部署。
    2. ha-cluster:高可用集群部署(生产环境推荐)。
  9. KServe Mode 设置为 Managed

  10. Domain 字段输入有效域名。

    INFO

    该域名用于 ingress 网关暴露模型服务接口。 通常建议使用通配符域名,如 *.example.com。

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

    • Provided
    • SelfSigned
    • ACPDefaultIngress

    默认配置使用 SelfSigned 证书类型保护集群入口流量,证书存储在 Domain Certificate Secret 字段指定的 knative-serving-cert Secret 中。

  11. (可选) 若需启用 Knative 功能,在 Serverless Configuration 部分,将 Knative Serving Provider 设置为 Operator

    INFO

    如果之前安装了 Knative Operator 以启用无服务器功能,请提供以下参数以完成集成:

    • APIVersionoperator.knative.dev/v1beta1
    • KindKnativeServing
    • Nameknative-serving
    • Namespaceknative-serving

    若不使用 Knative 功能,保持 Knative Serving ProviderRemoved(或留空),其余参数留空。

  12. Gitlab 部分:

    1. 输入自托管 Gitlab 的 URL 作为 Base URL
    2. 输入 cpaas-system 作为 Admin Token Secret Namespace
    3. 输入 aml-gitlab-admin-token 作为 Admin Token Secret Name
  13. 检查以上配置无误后,点击 Create

验证

查看名为 defaultAmlCluster 资源状态:

kubectl get amlcluster default

应返回 Ready

NAME      READY   REASON
default   True    Succeeded

至此,Alauda AI 的核心能力已成功部署。如需快速体验产品,请参考快速开始

迁移至 Knative Operator

在 1.x 系列产品中,无服务器推理服务由 Alauda AI Model Serving operator 提供;在 2.x 系列中,该能力由 Knative Operator 提供。本节指导您将无服务器能力从旧 Operator 迁移至新 Operator。

1. 移除旧版 Serving 实例

操作步骤

Administrator 视图:

  1. 点击 Marketplace / OperatorHub
  2. 在控制台顶部的 Cluster 下拉列表中,选择安装了 Alauda AI 的目标集群。
  3. 选择 Alauda AI,点击 All Instances 标签页。
  4. 找到 default 实例,点击 Update
  5. 在更新表单中,找到 Serverless Configuration 部分。
  6. BuiltIn Knative Serving 设置为 Removed
  7. 点击 Update 应用更改。

2. 安装 Knative Operator 并创建 Serving 实例

从 Marketplace 安装 Knative Operator 并创建 KnativeServing 实例。详细步骤请参考启用 Knative 功能章节。

INFO

完成上述步骤后,Knative Serving 控制平面的迁移即告完成。

  • 若您从 Alauda AI 2.0 + Alauda AI Model Serving 组合迁移,迁移至此完全完成,业务服务将自动切换配置。
  • 若您从 Alauda AI 1.x + Alauda AI Model Serving 组合迁移,请确保同时将 Alauda AI 升级至 2.x 版本。

安装后替换 GitLab 服务

若需在安装后替换 GitLab 服务,请按以下步骤操作:

  1. 重新配置 GitLab 服务
    参考安装前配置并重新执行相关步骤。

  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 命名空间下的 aml-controller Deployment。

  5. 刷新平台数据
    在 Alauda AI 管理视图,重新管理所有命名空间。

    • 在 Alauda AI 视图中,从 Business View 切换到 Admin 视图
    • Namespace Management 页面,删除所有已管理的命名空间
    • 使用“Managed Namespace”添加需要集成 Alauda AI 的命名空间
      INFO

      原有模型不会自动迁移
      继续使用这些模型的方法:

      • 在新 GitLab 中重新创建并上传
      • 或手动将模型文件迁移到新仓库

常见问题

1. 配置 aml-skipper 的审计输出目录

默认审计输出路径为宿主机的 /cpaas/audit。但在某些操作系统(如 MicroOS)中,宿主机根路径为只读,无法创建 /cpaas 目录,此时需要修改审计输出路径。

修改方法是在 AmlCluster 默认资源中,spec.values 下添加 amlSkipper.auditLogHostPath.path 配置。例如:

apiVersion: amlclusters.aml.dev/v1alpha2
kind: AmlCluster
metadata:
  name: default
  ...
spec:
  ...
  values:
    amlSkipper:
      auditLogHostPath:
        path: /var/lib/audit
NOTE

具体路径应与 Alauda Container Platform Log Collector 的采集配置保持一致。