The cloud-native AI suite adds scheduling, data acceleration, workflow orchestration, and monitoring capabilities to Container Service for Kubernetes (ACK) clusters for AI and machine learning workloads. You can deploy the suite through the ACK console and optionally configure AI consoles, data storage backends, and workflow engines.
Prerequisites
Before you begin, make sure that you have:
An ACK Pro, ACK Serverless (Pro version), or ACK Edge (Pro version) cluster running Kubernetes 1.18 or later. For more information, see Create an ACK Pro cluster, Create an ACK Serverless Pro cluster, or Create an ACK Edge Pro cluster
(For the AI operations console) Container Monitoring and Log Service selected on the Component Configurations page during cluster creation, or the ack-arms-prometheus and loongcollector components installed on the Add-ons page of an existing cluster. For more information, see Use Alibaba Cloud Prometheus for monitoring and Collect container logs from an ACK cluster
Video introduction
Deploy the suite
Log on to the ACK console. In the left navigation pane, click Clusters.
On the Clusters page, find your cluster and click its name. In the left-side pane, choose Applications > Cloud-native AI Suite.
On the Cloud-native AI Suite page, click Deploy.
On the deployment page, select the components to install. For component details and cluster compatibility, see Component reference.
If you select Kube Queue, Console, and Kubeflow Pipelines at the same time, the Arena option is required.
Click Deploy Cloud-native AI Suite. An environment and dependency check runs automatically, and the selected components are deployed after the check passes.
Component reference
The following table lists all components, their namespaces, and supported cluster types.
| Configuration | Component | Namespace | ACK Pro | ACK Serverless Pro | ACK Edge Pro |
|---|---|---|---|---|---|
| Elasticity | ack-alibaba-cloud-metrics-adapter | kube-system | Yes | No | Yes |
| Acceleration (Fluid data acceleration) | ack-fluid | fluid-system | Yes | Yes | Yes |
| Scheduling (batch task scheduling, GPU sharing, topology-aware GPU scheduling, and NPU scheduling) | ack-ai-installer | kube-system | Yes | No | Yes |
| Kube Queue | ack-kube-queue | kube-queue | Yes | Yes | Yes |
| Arena (CLI) | ack-arena | kube-system | Yes | Yes | Yes |
| Console (Platform for AI) | ack-pai | pai-system | Yes | No | Yes |
| Console (AI Dashboard) | ack-ai-dashboard | kube-ai | Yes | No | Yes |
| Console (AI Developer Console) | ack-ai-dev-console | kube-ai | Yes | No | Yes |
| Console Data Storage | ack-mysql | kube-ai | Yes | No | Yes |
| Workflow (Kubeflow Pipelines) | ack-ai-pipeline | kube-ai | Yes | No | Yes |
| Monitoring | ack-arena-exporter | kube-ai | Yes | No | Yes |
ack-pai integrates algorithms and engines optimized by Platform for AI (PAI), including Data Science Workshop (DSW), Deep Learning Containers (DLC), and Elastic Algorithm Service (EAS). It improves the elasticity and efficiency of AI model development, training, and inference.
To configure custom parameters for Scheduling components, click Advanced on the deployment page.
After installation, configure the Arena client separately if you selected Arena. For more information, see Configure the Arena client.
For more information about individual components, see Fluid data acceleration, ack-ai-installer, ack-kube-queue, and ack-ai-pipeline.
Configure the AI console
Starting January 22, 2025, the AI console (AI Dashboard and AI Developer Console) is available only to whitelisted users. Existing deployments before this date are unaffected. Non-whitelisted users can install and configure the AI console through the open-source community. For more information, see data-on-ack.
Authorize the AI console
In the Ecosystem Tools section of the deployment page, select Console. A Note dialog box appears.
If the authorization status shows Authorized, skip to Select an access method.
If the authorization status shows Unauthorized in red and the OK button is unavailable, complete the authorization steps below.
Create a custom policy in Resource Access Management (RAM).
Log on to the RAM console. In the left navigation pane, choose Permissions > Policies.
Click Create Policy.
On the JSON tab, enter the following policy content and click OK. Name the policy
k8sWorkerRolePolicy-{ClusterID}.{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "cs:*", "log:GetProject", "log:GetLogStore", "log:GetConfig", "log:GetMachineGroup", "log:GetAppliedMachineGroups", "log:GetAppliedConfigs", "log:GetIndex", "log:GetSavedSearch", "log:GetDashboard", "log:GetJob", "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" ], "Resource": "*" } ] }
Attach the custom policy to the cluster RAM role.
In the RAM console, in the left navigation pane, choose Identities > Roles.
Search for the role named
KubernetesWorkerRole-{ClusterID}. Click Grant Permission in the Actions column.In the Grant Permission panel, search for the custom policy
k8sWorkerRolePolicy-{ClusterID}.Select the policy and click Grant permissions.
Return to the Note dialog box in the ACK console and click Authorization Check. The status changes to Authorized and the OK button becomes available.
Select an access method
In the Note dialog box, select an access method and click OK.
| Access method | Recommended use | Notes |
|---|---|---|
| Private IP | Production | Accesses the console over the internal network |
| Internal Domain | Production | Uses a private domain name |
| Public Domain | Testing only | Add a host mapping between the public domain name and the public IP address of the NGINX Ingress SLB instance to your local hosts file |
For more information about accessing the console over a private network, see Access the AI operations console.
Configure console data storage
After you select Console under Interaction Mode, the Console Data Storage option appears. Choose one of the following storage methods.
Pre-installed MySQL (testing only)
If you do not select ApsaraDB RDS, the cluster uses a built-in MySQL database by default.
This option is recommended for testing only. If the cluster fails or storage is lost, data may be lost.
When you deploy this component, the cloud-native AI suite creates a 120 GB disk as a PersistentVolumeClaim (PVC) using the StorageClass. ACK does not manage the disk lifecycle. Delete the disk manually when it is no longer needed. For more information, see Release a disk.
ApsaraDB RDS (production)
Use ApsaraDB RDS for production workloads.
If a connection error occurs, see Troubleshoot instance connection failures.
To change the data storage method later, uninstall and reinstall the cloud-native AI suite. If a Secret namedkubeai-rdsexists in thekube-ainamespace, delete it before reinstalling.
Purchase an ApsaraDB RDS instance and create a database and an account. For more information, see Quick start for ApsaraDB RDS. For billing details, see Billing overview.
Click Deploy Cloud-native AI Suite at the bottom of the deployment page.
In the ACK console, click the cluster name. In the left navigation pane, choose Configurations > Secrets.
From the Namespace drop-down list, select
kube-ai.Click Create from YAML.
Enter the following YAML template to create a Secret named
kubeai-rds, then click Create.Parameter Description MYSQL_HOSTThe connection endpoint of your ApsaraDB RDS instance MYSQL_DB_NAMEThe name of the database you created MYSQL_USERThe database account username MYSQL_PASSWORDThe database account password apiVersion: v1 kind: Secret metadata: name: kubeai-rds namespace: kube-ai type: Opaque stringData: MYSQL_HOST: "Your RDS endpoint" MYSQL_DB_NAME: "Database name" MYSQL_USER: "Database username" MYSQL_PASSWORD: "Database password"
Configure workflow data storage
If you select Kubeflow Pipelines as the workflow engine, the Workflow Data Storage option appears. Choose one of the following storage methods.
Pre-installed MinIO (testing only)
If you do not select OSS, the cluster uses a built-in MinIO instance by default.
This option is recommended for testing only. If the cluster fails or storage is lost, data may be lost.
When you deploy this component, the cloud-native AI suite creates a 20 GB disk as a PVC using the StorageClass. ACK does not manage the disk lifecycle. Delete the disk manually when it is no longer needed. For more information, see Release a disk.
Object Storage Service (testing and production)
Use Object Storage Service (OSS) for persistent, scalable workflow data storage.
If the
kube-ainamespace does not exist, create it:The
kube-ainamespace is created automatically when you deploy the cloud-native AI suite. Verify whether it already exists before creating it.kubectl create ns kube-aiIn the ACK console, click the cluster name. In the left navigation pane, choose Configurations > Secrets.
From the Namespace drop-down list, select
kube-ai.Click Create from YAML.
Enter the following YAML template and click Create. This creates a Secret named
kubeai-oss.Parameter Description ENDPOINTThe OSS endpoint for your region. The example uses the China (Beijing) endpoint. For the full list, see OSS regions and endpoints ACCESS_KEY_IDThe AccessKey ID of a RAM user with the AliyunOSSFullAccesspermission. For more information, see Create an AccessKey pairACCESS_KEY_SECRETThe AccessKey secret of the RAM user apiVersion: v1 kind: Secret metadata: name: kubeai-oss namespace: kube-ai type: Opaque stringData: ENDPOINT: "https://oss-cn-beijing.aliyuncs.com" ACCESS_KEY_ID: "****" ACCESS_KEY_SECRET: "****"After you create the Secret, verify that a bucket named
mlpipeline-<clusterid>appears in the OSS console. This confirms that OSS is configured as the workflow data storage. For OSS billing, see Billing overview.
Return to the cloud-native AI suite deployment page and install the Kubeflow Pipelines component.
Verify the deployment
After deployment, verify that the components are running:
In the ACK console, click the cluster name. In the left-side pane, choose Applications > Cloud-native AI Suite. The component list displays all installed components with their names and versions.
Confirm that each component shows a status indicating successful deployment. You can perform Deploy and Uninstall operations on individual components. If a newer version of an installed component is available, you can also perform an Upgrade operation.
If you installed the AI consoles, click AI Dashboard or AI Developer Console in the upper-left corner of the Cloud-native AI Suite page to verify access.
-
If the PAI lightweight console component (ack-pai) is installed, you can find the PAI Lightweight Console button in the upper-left corner of the Cloud-native AI Suite page. Click the button to go to the console.