安装 Alauda AI

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

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

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

INFO

推荐部署选项:对于生成式推理工作负载,推荐使用 Raw Kubernetes 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 CE 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:安装完成。

创建 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. single-node 用于非高可用部署。
    2. ha-cluster 用于高可用集群部署(推荐用于生产环境)。
  9. KServe Mode 设置为 Managed

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

    INFO

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

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

    • Provided
    • SelfSigned
    • ACPDefaultIngress

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

  11. Serverless Configuration 部分,将 Knative Serving Provider 设置为 Operator,其他参数保持为空。

  12. Gitlab 部分:

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

验证

通过以下命令检查名为 defaultAmlCluster 资源状态:

kubectl get amlcluster default

应返回 Ready 状态:

NAME      READY   REASON
default   True    Succeeded

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

启用 Serverless 功能

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

1. 安装 Knative Operator

INFO

Knative CE 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 CE 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 值。

3. 与 AmlCluster 集成

配置 AmlCluster 实例以集成 KnativeServing 实例。

AmlCluster 实例更新窗口的 Serverless Configuration 部分,填写以下必填参数。

INFO

初始安装后,您会发现只有 Knative Serving Provider 设置为 Operator,现在需要为以下参数提供值:

  • APIVersion: operator.knative.dev/v1beta1
  • Kind: KnativeServing
  • Name: knative-serving
  • Namespace: knative-serving

安装后替换 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 的采集配置保持一致。