云原生AI套件只支持安装在ACK Pro版集群中。本文介绍如何在ACK Pro版集群中安装云原生AI套件,以及如何安装配置云原生AI运维控制台和开发控制台。
前提条件
- 已创建ACK Pro版集群,且在组件配置页面,选中监控插件和日志服务。具体操作,请参见创建ACK Pro版集群。说明 该前提条件仅为安装配置云原生AI运维控制台的前提条件。
- ACK Pro版集群的Kubernetes版本不低于1.18。
部署云原生AI套件
- 登录容器服务管理控制台。
- 在控制台左侧导航栏,单击集群。
- 在集群列表页面,单击目标集群名称或者目标集群右侧操作列下的详情。
- 在集群管理页左侧导航栏,选择 。
- 在云原生AI套件页面,单击一键部署。
- 在部署页面,根据需要选中相应的组件。部分配置项说明如下:
配置项 说明 弹性 选择是否开启弹性训练或弹性推理功能。 加速 选择是否开启Fluid数据加速功能。 调度 选择是否开启调度组件(批量任务调度、GPU共享、GPU拓扑感知、NPU调度)功能。您也可以单击高级配置,自定义参数配置。 交互方式 - Arena命名行(必选):默认必选组件。您也可以单击高级配置,自定义参数配置。
- 控制台:选择部署PAI轻量化控制台或云原生AI套件自带的控制台,选中控制台后,会出现提示对话框,关于配置详情,请参见安装配置云原生AI控制台。
工作流 选中Kubeflow Pipelines后,您可以选择工作流数据存储方式为集群内置MinIO或阿里云OSS。关于配置详情,请参见安装配置工作流。 控制台数据存储 当交互方式选中控制台后,您可以选择控制台数据存储方式为集群内置MySQL或阿里云RDS。关于配置详情,请参见控制台数据存储。 监控 选择是否安装监控组件。 - 单击页面下方的部署云原生AI套件,开始检查环境和依赖项,检查通过后,自动部署选择的组件。组件安装成功后,在组件列表页面:
- 您可以看到当前集群中已经安装的组件名称、版本等信息,并能对组件进行部署和卸载操作。
- 如果已安装的组件有新版本的话,还可以对组件进行升级操作。
- 如果您已安装云原生AI运维控制台组件(ack-ai-dashboard)和云原生AI开发控制台组件(ack-ai-dev-console)后,可以在云原生AI套件页面左上方看到运维控制台和开发控制台,单击相应控制台可直接进行访问。
安装配置云原生AI控制台
- 在云原生AI套件部署页面的交互方式区域,选中控制台,弹出提示对话框。
- 单击提示对话框中的授权策略链接。
- 在权限管理页签中,单击目标授权策略名称。
- 策略内容页签中,单击修改策略内容,在修改策略内容面板的策略内容区域,将以下策略添加至
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。
- 选择运维控制台访问方式和开发控制台访问方式,然后单击确定。您可以选择使用私网IP、私网域名或公网域名访问服务。说明
- 选择私网网络类型访问时,在提示对话框中选中私网IP。
- 使用私网域名访问服务时,请确保集群已安装Nginx Ingress。关于安装Nginx Ingress的具体操作,请参见部署多个Ingress Controller。
- 使用公网域名访问服务时,请确保集群已安装Nginx Ingress,并注意控制访问范围。
- 选择控制台数据存储方式。选中控制台后,在部署页面交互方式下方会出现控制台数据存储,您可以选择集群内置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进行删除。
- 单击页面下方的部署云原生AI套件。安装完成后,您可以在云原生AI套件页面左上方看到运维控制台和开发控制台,单击相应控制台可直接进行访问。
安装配置工作流
当工作流选中Kubeflow Pipelines后,您需要选择工作流数据存储方式。
- 当您选择集群内置MinIO时,请确保集群节点挂载有ESSD类型的云盘。云原生AI套件会自动在集群内安装部署MinIO,该方式不需要您单独购买OSS产品,但数据安全没有SLA保障。如果集群故障或误删MinIO,可能会导致数据丢失。
- 当您选择阿里云OSS时,需要单独购买阿里云OSS,并使用以下YAML示例模板在集群kube-ai命名空间下创建名为kubeai-oss的Secret。Secret中需要配置您的
ENDPOINT
、ACCESS_KEY_ID
和ACCESS_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-<clusterid>的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 | 是 | 构建端到端的机器学习工作流平台。 |
ack-kube-queue | kube-queue | 是 | Kube Queue任务队列 |