Install the AI suite

更新时间:
复制 MD 格式

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:

Video introduction

Deploy the suite

  1. Log on to the ACK console. In the left navigation pane, click Clusters.

  2. On the Clusters page, find your cluster and click its name. In the left-side pane, choose Applications > Cloud-native AI Suite.

  3. On the Cloud-native AI Suite page, click Deploy.

  4. 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.
  5. 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.

ConfigurationComponentNamespaceACK ProACK Serverless ProACK Edge Pro
Elasticityack-alibaba-cloud-metrics-adapterkube-systemYesNoYes
Acceleration (Fluid data acceleration)ack-fluidfluid-systemYesYesYes
Scheduling (batch task scheduling, GPU sharing, topology-aware GPU scheduling, and NPU scheduling)ack-ai-installerkube-systemYesNoYes
Kube Queueack-kube-queuekube-queueYesYesYes
Arena (CLI)ack-arenakube-systemYesYesYes
Console (Platform for AI)ack-paipai-systemYesNoYes
Console (AI Dashboard)ack-ai-dashboardkube-aiYesNoYes
Console (AI Developer Console)ack-ai-dev-consolekube-aiYesNoYes
Console Data Storageack-mysqlkube-aiYesNoYes
Workflow (Kubeflow Pipelines)ack-ai-pipelinekube-aiYesNoYes
Monitoringack-arena-exporterkube-aiYesNoYes

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

  1. 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.

  2. Create a custom policy in Resource Access Management (RAM).

    1. Log on to the RAM console. In the left navigation pane, choose Permissions > Policies.

    2. Click Create Policy.

    3. 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": "*"
              }
          ]
      }

  3. Attach the custom policy to the cluster RAM role.

    1. In the RAM console, in the left navigation pane, choose Identities > Roles.

    2. Search for the role named KubernetesWorkerRole-{ClusterID}. Click Grant Permission in the Actions column.

    3. In the Grant Permission panel, search for the custom policy k8sWorkerRolePolicy-{ClusterID}.

    4. Select the policy and click Grant permissions.

  4. 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 methodRecommended useNotes
Private IPProductionAccesses the console over the internal network
Internal DomainProductionUses a private domain name
Public DomainTesting onlyAdd 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.

Important

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 named kubeai-rds exists in the kube-ai namespace, delete it before reinstalling.
  1. 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.

  2. Click Deploy Cloud-native AI Suite at the bottom of the deployment page.

  3. In the ACK console, click the cluster name. In the left navigation pane, choose Configurations > Secrets.

  4. From the Namespace drop-down list, select kube-ai.

  5. Click Create from YAML.

  6. Enter the following YAML template to create a Secret named kubeai-rds, then click Create.

    ParameterDescription
    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.

Important

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.

  1. If the kube-ai namespace does not exist, create it:

    The kube-ai namespace is created automatically when you deploy the cloud-native AI suite. Verify whether it already exists before creating it.
       kubectl create ns kube-ai
  2. In the ACK console, click the cluster name. In the left navigation pane, choose Configurations > Secrets.

  3. From the Namespace drop-down list, select kube-ai.

  4. Click Create from YAML.

  5. Enter the following YAML template and click Create. This creates a Secret named kubeai-oss.

    ParameterDescription
    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 AliyunOSSFullAccess permission. For more information, see Create an AccessKey pair
    ACCESS_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: "****"
  6. 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.

    image

  7. 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:

  1. 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.

  2. 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.

  3. 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.

  4. 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.