PAI轻量化控制台部署指南

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

使用限制

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

步骤一:创建集群

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

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

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

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

    • 集群规格:Pro版。

    • 付费类型:选择按量付费

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

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

    • 网络插件:选择Flannel

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

    • API Server访问:选中使用EIP暴露API Server

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

    • 容器运行时:选择docker 19.03.15,不支持containerd。

    • 管控ECS要求

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

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

    • 计算ECS要求

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

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

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

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

    • 容器监控:必须选中使用阿里云可观测监控Prometheus,否则将无法正常查看PAI的资源监控信息。

  6. 确认配置配置向导页面,确认配置参数,选中服务协议,单击创建集群

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

步骤二:创建RDS

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

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

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

  2. 创建数据库账号和6个数据库,包括dlc、notebook、eas、pai_console、pai_user、paiflow,具体操作,请参见创建数据库和账号

  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. 集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情

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

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

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

    控制台配置

    组件配置

    集群支持情况

    配置项

    配置说明

    组件名称及说明

    命名空间

    ACK集群Pro

    ACK Serverless集群Pro

    ACK Edge集群Pro

    弹性

    是否开启弹性训练弹性推理功能。更多信息,请参见模型训练弹性推理

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

    kube-system

    对

    错

    错

    加速

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

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

    fluid-system

    对

    对

    对

    调度

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

    ack-ai-installer,调度组件。

    kube-system

    对

    错

    对

    是否开启Kube Queue任务队列功能。更多信息,请参见使用任务队列ack-kube-queue

    ack-kube-queue,Kube Queue任务队列。

    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-system

    对

    错

    错

    控制台:部署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

    对

    错

    错

  6. 交互方式区域,单击PAI轻量化控制台后的高级配置image

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

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

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

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

      重要

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

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

  8. 交互方式区域,选中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. 创建实例页面,根据界面提示配置参数,并单击创建

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