PAI轻量化控制台部署指南

本文为您介绍如何在ACK容器服务中部署PAI轻量化控制台,如何使用PAI轻量化功能,请联系您的商务经理。

使用限制

仅支持阿里云ACK容器服务。

步骤一:创建集群

  1. 登录容器服务管理控制台

  2. 集群列表,单击创建集群

  3. ACK 托管集群页签的集群配置配置向导页面,配置以下参数,并单击下一步:节点池配置

    其中关键参数配置如下,其他参数配置,详情请参见创建Kubernetes托管版集群

    • 集群规格:Pro版。

    • Kubernetes版本:选择1.28.15-aliyun.1

    • 专有网络:选择专有网络,后续创建的RDS、ACR、NAS需要保证与ACK在同一个VPC下。

    • API server访问:使用按量付费,并选中使用EIP暴露API server

    • 网络插件:选择Flannel

    • 节点 Pod 数量:建议配置128个及以上。

  4. 节点池配置配置向导页面,配置以下关键参数(其他参数可以使用默认值),并单击下一步:组件配置

    • 容器运行时:选择containerd 1.6.36

    • 管控ECS要求

      • 实例配置方式:选择指定实例规格

      • 实例规格:每台实例规格建议大于等于1632 GiB。

      • 系统盘:如果您希望使用内置MySQL,而不希望额外购买RDS作为数据库存储,则必须选择ESSD云盘(不是高效云盘,某些特定机型才支持,例如内存型ECS)。因ES存储日志占用较大,系统盘大小建议配置为500 GiB。

    • 计算ECS要求

      • 数据盘:建议增加一块数据盘,因运行时容器可能占用较大空间,建议数据盘大小配置为500 GiB。

  5. 组件配置配置向导页面,配置参数,并单击下一步:确认配置

    以下参数必须按照要求配置,其他参数可以使用默认值。

    • Ingress:必须选择Nginx Ingress负载均衡类型选择公网,否则将无法正常访问PAI控制台。

    • 容器监控:必须选中容器集群监控 Pro 版,否则将无法正常查看PAI的资源监控信息。

  6. 确认配置配置向导页面,确认配置参数,并单击创建集群

    等待大约10分钟,集群即可创建成功。

步骤二:创建RDS

如果您打算使用内置MySQL,可以忽略该步骤。

如果您采用阿里云RDS,需要按照以下操作步骤,完成准备工作。

  1. 创建RDS实例,具体操作,请参见创建RDS MySQL实例

  2. 创建数据库账号和6个数据库,包括dlc、notebook、eas、pai_console、pai_user、paiflow,具体操作,请参见第一步:快捷创建RDS MySQL实例与配置数据库

  3. 根据RDS地址信息、账号信息到集群创建mysql-secret对象。

    1. 通过kubectl工具管理集群,具体操作,请参见获取集群KubeConfig并通过kubectl工具连接集群

    2. 在集群中创建mysql-secret对象。

      kubectl create ns pai-system
      kubectl apply -f mysql-secret.yaml
      ---
      apiVersion: v1
      kind: Secret
      metadata:
        name: mysql-secret
        namespace: pai-system
      type: Opaque
      stringData:
        MYSQL_HOST: "RDS地址"
        MYSQL_USER: "******"
        MYSQL_PASSWORD: "******"
    3. 添加白名单。

      您需要在RDS控制台,将ACK集群的所有管控ECS(通常是前3台)添加至RDS允许的白名单中,这样PAI的服务才有权限访问RDS,具体操作,请参见设置IP白名单

步骤三:创建ACR

按照以下操作步骤,完成准备工作。

  1. 创建同ACK集群在同一个VPC下的ACR实例,并使用docker push命令上传一份基础镜像到ACR仓库内,具体操作,请参见在容器服务ACK中使用ACR

  2. 在集群中创建docker-registry-secret对象。

    kubectl create ns pai-system
    kubectl apply -f docker-registry-secret.yaml
    ---
    apiVersion: v1
    kind: Secret
    metadata:
      name: docker-registry-secret
      namespace: pai-system
    type: Opaque
    stringData:
      DOCKER_REGISTRY_HOST: "***.cn-hangzhou.cr.aliyuncs.com"
      DOCKER_REGISTRY_PORT: ""
      DOCKER_REGISTRY_NAMESPACE: "eflops"
      DOCKER_REGISTRY_USERNAME: "******"
      DOCKER_REGISTRY_PASSWORD: "******"

步骤四:注册OAuth应用认证信息

  1. 创建应用,并获取应用ID,具体操作,请参见创建应用

    其中:

    • 应用名称显示名称:按照要求配置,无特殊要求;

    • 应用类型:选择WebApp

    • 回调地址:需要您根据创建的集群自行填写。格式为http://pai-user.${SERVICE_DOMAIN}:${CLUSTER_INGRESS_HTTP_PORT}/api/v1/users/loginbyram

      其中:$SERVICE_DOMAIN:为您创建的集群的测试域名,如何获取测试域名,详情请参见创建Kubernetes托管版集群${CLUSTER_INGRESS_HTTP_PORT}:配置为80。

    应用创建完成后,请保存应用ID(即clientId)。image

  2. 添加应用范围,具体操作,请参见添加应用范围

    添加应用范围时,需要选择aliuidprofile

  3. 创建应用密钥,并复制创建成功的密钥,具体操作,请参见创建应用密钥

    该密钥不是AppSecretId。单击复制,保存应用密钥(即secretKey)。image

步骤五:安装PAI组件

  1. 登录容器服务管理控制台

  2. 在控制台左侧导航栏,单击集群列表,然后单击目标集群名称或者目标集群右侧操作列下的详情

  3. 在集群管理页左侧导航栏,选择应用 > 云原生AI套件

  4. 云原生AI套件页面,单击一键部署,然后在部署页面,按需选中相应的组件。

    控制台配置说明、组件说明以及不同集群类型的组件支持情况说明如下。

    控制台配置

    组件配置

    集群支持情况

    配置项

    配置说明

    组件名称及说明

    命名空间

    ACK托管集群Pro

    ACK Serverless集群Pro

    ACK Edge集群Pro

    弹性

    是否开启弹性控制器功能。更多信息,请参见基于Kubernetes部署运行模型训练作业容器化弹性推理

    ack-alibaba-cloud-metrics-adapter,弹性伸缩组件。

    kube-system

    对

    错

    对

    加速

    是否开启Fluid数据加速功能。更多信息,请参见弹性数据集

    ack-fluid,数据缓存加速组件。

    fluid-system

    对

    对

    对

    调度

    是否开启调度组件(批量任务调度、GPU共享、GPU拓扑感知、NPU调度)功能。单击高级配置,可自定义参数配置。

    ack-ai-installer,调度组件。

    kube-system

    对

    错

    对

    是否开启Kube Queue任务队列功能。更多信息,请参见使用任务队列ack-kube-queue管理AI/ML工作负载

    ack-kube-queue,扩展的Kubernetes任务队列调度组件。

    kube-queue

    对

    对

    对

    交互方式

    Arena:如需使用命令行工具Arena(需要单独安装配置Arena客户端),则必须在此勾选Arena。安装后,您可以使用Arena命令行工具集成的Kubeflow的多种训练Operator。单击高级配置,可自定义参数配置。

    若同时勾选Kube Queue控制台工作流,则默认必选Arena。更多信息,请参见配置Arena客户端

    ack-arena(生态工具),机器学习命令行工具。

    kube-system

    对

    对

    对

    控制台:部署轻量化人工智能平台 PAI平台。单击高级配置,可自定义参数配置。

    重要

    部署轻量化人工智能平台 PAI平台,需要先创建docker-registry-secret,请参见PAI轻量化控制台部署指南

    ack-pai,轻量化人工智能平台 PAI平台。推荐使用。

    安装此组件后您可以直接使用PAI平台提供的深度优化的算法与引擎,以及沉淀的最佳实践,此外DSW、DLC、EAS等服务也为AI模型开发、训练和推理带来了更好的弹性和效率,极大地优化训练与推理的效果,降低了您AI开发的门槛。

    pai-system

    对

    错

    对

    控制台:AI套件控制台。

    说明

    阿里云提供的AI控制台(包括开发控制台、运维控制台)于20250122日起以白名单功能的形式开放。如果您在白名单开放前已部署开发控制台或运维控制台,您的使用将不会受到影响。未加入白名单的用户,可以从开源社区安装配置AI套件控制台。关于开源配置的详细操作,请参见开源AI控制台

    ack-ai-dashboard(生态工具),可视化运维控制台。

    kube-ai

    对

    错

    对

    ack-ai-dev-console(生态工具),深度学习开发控制台。

    kube-ai

    对

    错

    对

    控制台数据存储

    选择交互方式控制台后,需选择控制台数据存储方式为集群内置MySQL阿里云RDS。关于配置详情,请参见安装配置云原生AI控制台

    ack-mysql,MySQL数据库组件。

    kube-ai

    对

    错

    对

    工作流

    选中Kubeflow Pipelines后,您可以选择工作流数据存储方式为集群内置MinIO阿里云OSS。关于配置详情,请参见安装配置工作流

    ack-ai-pipeline(生态工具),构建端到端的机器学习工作流平台。

    kube-ai

    对

    错

    对

    监控

    是否安装监控组件。更多信息,请参见使用云原生AI监控大盘

    ack-arena-exporter,集群监控组件。

    kube-ai

    对

    错

    对

  5. 生态工具区域,单击PAI轻量化控制台后的高级配置image

  6. 参数配置配置面板,配置以下参数,并单击确定image

    • clientIdsecretKey替换为步骤四中查询到的应用ID应用密钥

    • accountId:替换为您的阿里云账号ID。

    • paiSuperAdmin:替换为您的阿里云账号名称(取邮箱@符号之前的字符串)。

      重要

      不强制要求使用阿里云账号,通常也可以使用一个RAM用户(子账号)作为超级管理员。

      注意:一旦将该RAM用户(子账号)作为超级管理员,该超级管理员不支持提交训练任务和创建交互式建模实例。

  7. 生态工具区域,选中控制台PAI轻量化控制台,单击部署云原生AI套件image

步骤六:PAI轻量化功能验证

  1. 使用阿里云账号登录PAI轻量化控制台

  2. 创建资源管理配额(quota)。

    1. 在左侧导航栏,单击工作空间管理

    2. 资源配额管理页签,单击新建资源配额

    3. 新建资源配额页面,根据界面提示配置参数,并单击提交

  3. 创建工作空间。

    1. 在左侧导航栏,单击工作空间管理。

    2. 工作空间管理页签,单击新建工作空间

    3. 新建工作空间对话框,根据界面提示配置参数,并单击确定

  4. 创建数据集。

    您可以准备一个与ACK在同一个VPC下的NAS文件系统,数据集支持NFS容器持久存储卷两种类型。

    1. 创建一个与ACK在同一个VPC下的NAS文件系统,具体操作请参见创建文件系统

    2. NAS文件系统中创建挂载点,具体操作,请参见添加挂载点

    3. PAI轻量化控制台左侧导航栏,单击数据集配置

    4. 数据集配置页面,单击新建数据集配置

    5. 新建数据集配置页面的NFS页签,根据界面提示配置参数,并单击提交

  5. 创建镜像拉取密钥。

    使用超级管理员账号根据控制台上资源配额对应的ID(即资源配额管理页签中资源配额ID列的值,例如:quotaxxxx)创建pai-image-secret。如果其他资源配额也需要该ACR的镜像拉取权限,则需要同理按照该方式创建对应资源配额ID的密钥。

    kubectl create secret docker-registry pai-image-secret --namespace={这里填写QuotaID}  --docker-server=***.cn-hangzhou.cr.aliyuncs.com --docker-username=****** --docker-password=******
  6. 下载DLC客户端工具至本地,并进行用户认证,具体操作,请参见准备工作

  7. 使用以下命令将镜像从ACR同步到PAI。

    dlc sync-image --image_tag {镜像的repository:tag,如pytorch:py3.6-torch1.8-cuda11.1-sshd-ubuntu18.04}
  8. 提交DLC任务或创建DSW实例。

    • 提交DLC任务。

      1. 在左侧导航栏,单击任务列表

      2. 任务列表页签,单击新建任务

      3. 新建任务页面,根据界面提示配置参数,并单击提交

        其中:所属工作空间数据集配置节点镜像配置为上述步骤中创建的内容。

    • 创建DSW实例

      1. 在左侧导航栏,单击交互式建模(DSW)

      2. 单击创建实例

      3. 创建实例页面,根据界面提示配置参数,并单击创建

        其中:实例所属工作空间镜像来源数据集配置为上述步骤中创建的内容。