云原生AI套件只支持安装在ACK Pro版集群中。本文介绍如何在ACK Pro版集群中安装云原生AI套件,以及如何安装配置云原生AI运维控制台和开发控制台。

前提条件

  • 已创建ACK Pro版集群,且在组件配置页面,选中监控插件日志服务。具体操作,请参见创建ACK Pro版集群
    说明 该前提条件仅为安装配置云原生AI运维控制台的前提条件。
  • ACK Pro版集群的Kubernetes版本不低于1.18。

部署云原生AI套件

  1. 登录容器服务管理控制台
  2. 在控制台左侧导航栏中,单击集群
  3. 集群列表页面中,单击目标集群名称或者目标集群右侧操作列下的详情
  4. 在集群管理页左侧导航栏中,选择应用 > 云原生AI套件(公测)
  5. 云原生AI套件页面,单击一键部署
  6. 在部署页面,根据需要选中相应的组件。
    部分配置项说明如下:
    配置项 说明
    弹性 选择是否开启弹性训练弹性推理功能。
    加速 选择是否开启Fluid数据加速功能。
    调度 选择是否开启调度组件(批量任务调度、GPU共享、GPU拓扑感知、NPU调度)功能。您也可以单击高级配置,自定义参数配置。
    交互方式
    • Arena命名行(必选):默认必选组件。您也可以单击高级配置,自定义参数配置。
    • 控制台:选择是否使用控制台,选中控制台后,会出现提示对话框,关于配置详情,请参见安装配置云原生AI控制台
    工作流 选中Kubeflow Pipelines后,您可以选择工作流数据存储方式为集群内置MinIO阿里云OSS。关于配置详情,请参见安装配置工作流
    控制台数据存储 交互方式选中控制台后,您可以选择控制台数据存储方式为集群内置MySQL阿里云RDS。关于配置详情,请参见控制台数据存储
    监控 选择是否安装监控组件
  7. 单击页面下方的部署云原生AI套件,开始检查环境和依赖项,检查通过后,自动部署选择的组件。
    组件安装成功后,在组件列表页面:
    • 您可以看到当前集群中已经安装的组件名称、版本等信息,并能对组件进行部署卸载操作。
    • 如果已安装的组件有新版本的话,还可以对组件进行升级操作。
    • 如果您已安装云原生AI运维控制台组件(ack-ai-dashboard)和云原生AI开发控制台组件(ack-ai-dev-console)后,可以在云原生AI套件页面左上方看到运维控制台开发控制台,单击相应控制台可直接进行访问。控制台

安装配置云原生AI控制台

  1. 在云原生AI套件部署页面的交互方式区域,选中控制台,弹出提示对话框。
    • 如果授权状态为红色的未授权,且确定按钮为不可用状态,请执行步骤2提示框
    • 如果授权状态为已授权,请执行步骤3
  2. 单击提示对话框中的授权策略链接。
    1. 权限管理页签中,单击目标授权策略名称。
    2. 策略内容页签中,单击修改策略内容,在修改策略内容面板的策略内容区域,将以下策略添加至Action字段中。
      "ecs:DescribeInstances",
      "ecs:DescribeSpotPriceHistory",
      "ecs:DescribePrice",
      "eci:DescribeContainerGroups",
      "eci:DescribeContainerGroupPrice",
      "log:GetLogStoreLogs",
      "ims:CreateApplication",
      "ims:UpdateApplication",
      "ims:GetApplication",
      "ims:ListApplications",
      "ims:DeleteApplication",
      "ims:CreateAppSecret",
      "ims:GetAppSecret",
      "ims:ListAppSecretIds",
      "ims:ListUsers"
    3. 添加完成后,单击下一步:编辑基本信息,然后单击确定
      返回提示对话框,单击授权检测。如果授权成功,授权状态显示为已授权,且确定按钮可用。请执行步骤3已授权
  3. 选择运维控制台访问方式开发控制台访问方式,然后单击确定
    您可以选择使用私网IP私网域名公网域名访问服务。
    说明
    • 选择私网网络类型访问时,在提示对话框中选中私网IP
    • 使用私网域名访问服务时,请确保集群已安装Nginx Ingress。关于安装Nginx Ingress的具体操作,请参见部署多个Ingress Controller
    • 使用公网域名访问服务时,请确保集群已安装Nginx Ingress,并注意控制访问范围。
  4. 选择控制台数据存储方式。
    选中控制台后,在部署页面交互方式下方会出现控制台数据存储,您可以选择集群内置MySQL阿里云RDS
    • 当您选择集群内置MySQL时,请确保集群节点挂载有ESSD类型的云盘。云原生AI套件会自动在集群内安装部署MySQL,该方式不需要再单独购买RDS产品,但数据安全没有SLA保障。如果集群故障或误删MySQL,可能导致数据丢失。
    • 当您选择阿里云RDS时,需要单独购买阿里云RDS,并使用以下YAML示例模板在集群kube-ai命名空间下创建名为kubeai-rds的Secret,Secret中需要包含RDS地址、数据库名称、用户名和密码。
      apiVersion: v1
      kind: Secret
      metadata:
        name: kubeai-rds
        namespace: kube-ai
      type: Opaque
      stringData:
        MYSQL_HOST: "Your RDS URL"
        MYSQL_DB_NAME: "Database name"
        MYSQL_USER: "Database username"
        MYSQL_PASSWORD: "Database password"
    说明
    • 使用RDS时若出现连接异常的问题,请参见解决无法连接实例问题进行排查。
    • 如果您想要修改数据存储方式,请卸载云原生AI套件,再重新进行安装。如果您的集群中有名为kubeai-rds的Secret,请通过kubectl进行删除。
  5. 单击页面下方的部署云原生AI套件
    安装完成后,您可以在云原生AI套件页面左上方看到运维控制台开发控制台,单击相应控制台可直接进行访问。

安装配置工作流

当工作流选中Kubeflow Pipelines后,您需要选择工作流数据存储方式。
  • 当您选择集群内置MinIO时,请确保集群节点挂载有ESSD类型的云盘。云原生AI套件会自动在集群内安装部署MinIO,该方式不需要您单独购买OSS产品,但数据安全没有SLA保障。如果集群故障或误删MinIO,可能会导致数据丢失。
    说明 查看集群节点挂载的云盘类型,具体步骤如下:
    1. 登录容器服务管理控制台,在左侧导航栏中单击集群
    2. 集群列表页面中,单击目标集群名称,然后在左侧导航栏中,选择存储 > 存储卷
    3. 在存储卷页面,获取目标存储卷名称。
    4. 登录ECS管理控制台,单击存储与快照 > 云盘,搜索目标存储卷名称,查看云盘类型
  • 当您选择阿里云OSS时,需要单独购买阿里云OSS,并使用以下YAML示例模板在集群kube-ai命名空间下创建名为kubeai-oss的Secret。Secret中需要配置您的ENDPOINTACCESS_KEY_IDACCESS_KEY_SECRET,关于参数的更多信息,请参见参数配置
    apiVersion: v1
    kind: Secret
    metadata:
      name: kubeai-oss
      namespace: kube-ai
    type: Opaque
    stringData:
      ENDPOINT: "****"   
      ACCESS_KEY_ID: "****"     
      ACCESS_KEY_SECRET: "****"    

安装完Kubeflow Pipelines后,在您的OSS上会生成一个名为mlpipeline的Bueckt。

云原生AI套件组件说明

组件名 命名空间 是否可选 说明
ack-arena kube-system 机器学习命令行工具。
ack-ai-installer kube-system 调度组件。
ack-alibaba-cloud-metrics-adapter kube-system 弹性伸缩组件。
ack-fluid fluid-system 数据缓存加速组件。
ack-arena-exporter kube-ai 集群监控组件。
ack-ai-dashboard kube-ai 可视化运维控制台。
ack-ai-dev-console kube-ai 深度学习开发控制台。
ack-mysql kube-ai MySQL数据库。
ack-ai-pipeline kube-ai 构建端到端的机器学习工作流平台。