Install Alauda AI

In the cluster where Alauda AI is to be used, the following two operators need to be deployed:

  1. Alauda AI Operator

Alauda AI Operator is the main engine that powers Alauda AI products. It focuses on two core functions: model management and inference services, and provides a flexible framework that can be easily expanded.

  1. Alauda AI Model Serving Operator

Alauda AI Model Serving Operator provides serverless model inference.

INFO

During the deployment process of the Alauda AI, the Alauda AI Model Serving Operator will be automatically deployed, without requiring manual operation or configuration changes.

TOC

Downloading

INFO

You can download 'Alauda AI' and 'Alauda AI Model Serving' from the Marketplace on the Customer Portal website. Follow these steps:

  1. Download the app named "AI".
  2. Unzip the downloaded file to obtain the aml-operator.xxx.tgz and kserveless-operator.xxx.tgz packages.

Uploading

We need to upload both Alauda AI and Alauda AI Model Serving to the cluster where Alauda AI is to be used.

Downloading the violet tool

First, we need to download the violet tool if not present on the machine.

Log into the Web Console and switch to the Administrator view:

  1. Click Marketplace / Upload Packages.
  2. Click Download Packaging and Listing Tool.
  3. Locate the right OS / CPU architecture under Execution Environment.
  4. Click Download to download the violet tool.
  5. Run chmod +x ${PATH_TO_THE_VIOLET_TOOL} to make the tool executable.

Uploading package

Save the following script in uploading-ai-cluster-packages.sh first, then read the comments below to update environment variables for configuration in that script.

uploading-ai-cluster-packages.sh
#!/usr/bin/env bash
export PLATFORM_ADDRESS=https://platform-address  
export PLATFORM_ADMIN_USER=<admin>
export PLATFORM_ADMIN_PASSWORD=<admin-password>
export CLUSTER=<cluster-name>

export AI_CLUSTER_OPERATOR_NAME=<path-to-aml-operator-tarball>
export KSERVELESS_OPERATOR_PKG_NAME=<path-to-kserveless-operator-tarball>

VIOLET_EXTRA_ARGS=()
IS_EXTERNAL_REGISTRY=

# If the image registry type of destination cluster is not platform built-in (external private or public repository).
# Additional configuration is required (uncomment following line):
# IS_EXTERNAL_REGISTRY=true
if [[ "${IS_EXTERNAL_REGISTRY}" == "true" ]]; then
    REGISTRY_URL=<external-registry-url>
    REGISTRY_USERNAME=<registry-username>
    REGISTRY_PASSWORD=<registry-password>

    VIOLET_EXTRA_ARGS+=(
        --dst-repo "${REGISTRY_ADDRESS}"
        --username "${REGISTRY_USERNAME}"
        --password "${REGISTRY_PASSWORD}"
    )
fi

# Push **Alauda AI Cluster** operator package to destination cluster
violet push \
    ${AI_CLUSTER_OPERATOR_NAME} \
    --platform-address=${PLATFORM_ADDRESS} \
    --platform-username=${PLATFORM_ADMIN_USER} \
    --platform-password=${PLATFORM_ADMIN_PASSWORD} \
    --clusters=${CLUSTER} \
    ${VIOLET_EXTRA_ARGS[@]}

# Push **KServeless** operator package to destination cluster
violet push \
    ${KSERVELESS_OPERATOR_PKG_NAME} \
    --platform-address=${PLATFORM_ADDRESS} \
    --platform-username=${PLATFORM_ADMIN_USER} \
    --platform-password=${PLATFORM_ADMIN_PASSWORD} \
    --clusters=${CLUSTER} \
    ${VIOLET_EXTRA_ARGS[@]}
  1. ${PLATFORM_ADDRESS} is your ACP platform address.
  2. ${PLATFORM_ADMIN_USER} is the username of the ACP platform admin.
  3. ${PLATFORM_ADMIN_PASSWORD} is the password of the ACP platform admin.
  4. ${CLUSTER} is the name of the cluster to install the Alauda AI components into.
  5. ${AI_CLUSTER_OPERATOR_NAME} is the path to the Alauda AI Cluster Operator package tarball.
  6. ${KSERVELESS_OPERATOR_PKG_NAME} is the path to the KServeless Operator package tarball.
  7. ${REGISTRY_ADDRESS} is the address of the external registry.
  8. ${REGISTRY_USERNAME} is the username of the external registry.
  9. ${REGISTRY_PASSWORD} is the password of the external registry.

After configuration, execute the script file using bash ./uploading-ai-cluster-packages.sh to upload both Alauda AI and Alauda AI Model Serving operator.

Install Alauda AI Operator

Procedure

In Administrator view:

  1. Click Marketplace / OperatorHub.

  2. At the top of the console, from the Cluster dropdown list, select the destination cluster where you want to install Alauda AI.

  3. Select Alauda AI, then click Install.

    Install Alauda AI window will popup.

  4. Then in the Install Alauda AI window.

  5. Leave Channel unchanged.

  6. Check whether the Version matches the Alauda AI version you want to install.

  7. Leave Installation Location unchanged, it should be aml-operator by default.

  8. Select Manual for Upgrade Strategy.

  9. Click Install.

Verification

Confirm that the Alauda AI tile shows one of the following states:

  • Installing: installation is in progress; wait for this to change to Installed.
  • Installed: installation is complete.

Creating Alauda AI Instance

Once Alauda AI Operator is installed, you can create an Alauda AI instance.

Procedure

In Administrator view:

  1. Click Marketplace / OperatorHub.

  2. At the top of the console, from the Cluster dropdown list, select the destination cluster where you want to install the Alauda AI Operator.

  3. Select Alauda AI, then Click.

  4. In the Alauda AI page, click All Instances from the tab.

  5. Click Create.

    Select Instance Type window will pop up.

  6. Locate the AmlCluster tile in Select Instance Type window, then click Create.

    Create AmlCluster form will show up.

  7. Keep default unchanged for Name.

  8. Select Deploy Flavor from dropdown:

    1. single-node for non HA deployments.
    2. ha-cluster for HA cluster deployments (Recommended for production).
  9. Select Managed for Knative Serving Mode.

  10. Select Managed for KServe Mode.

  11. Input a valid domain for Domain field.

    INFO

    This domain is used by ingress gateway for exposing model serving services. Most likely, you will want to use a wildcard name, like *.example.com.

    You can specify the following certificate types by updating the Domain Certificate Type field:

    • Provided
    • SelfSigned
    • ACPDefaultIngress

    By default, the configuration uses SelfSigned certificate type for securing ingress traffic to your cluster, the certificate is stored in the knative-serving-cert secret that is specified in the Domain Certificate Secret field.

    To use certificate provided by your own, store the certificate secret in the istio-system namespace, then update the value of the Domain Certificate Secret field, and change the value of the Domain Certificate Secret field to Provided.

  12. Under Gitlab section:

    1. Type the URL of self-hosted Gitlab for Base URL.
    2. Type cpaas-system for Admin Token Secret Namespace.
    3. Type aml-gitlab-admin-token for Admin Token Secret Name.
  13. Under MySQL section:

    1. Type the address of MySQL instance in the Host field.
    2. Type the port for MySQL instance in Port field (Default: 3306).
    3. Type the user to connect to the MySQL instance in the Username field.
    4. Type the database to be used for Alauda AI in the the Database field (Default: aml).
    5. Select the namespace of the password secret for the user in the the Password Secret Namespace field.
    6. Type the name of the password secret for the user in the the Password Secret Name field.
    INFO

    About MySQL user privileges

    • The user for the MySQL instance should have DDL privileges.
    • It's recommended to create the database and grants user access to the database.
    • If database is not created, then the user requires CREATE DATABASE privileges to create the database.
  14. Review above configurations and then click Create.

Verification

Check the status field from the AmlCluster resource which named default:

kubectl get amlcluster default

Should returns Ready:

NAME      READY   REASON
default   True    Succeeded

Now, the core capabilities of Alauda AI have been successfully deployed. If you want to quickly experience the product, please refer to the Quick Start.

Replace GitLab Service After Installation

If you want to replace GitLab Service after installation, follow these steps:

  1. Reconfigure GitLab Service
    Refer to the Pre-installation Configuration and re-execute its steps.

  2. Update Alauda AI Instance

    • In Administrator view, navigate to Marketplace > OperatorHub
    • From the Cluster dropdown, select the target cluster
    • Choose Alauda AI and click the All Instances tab
    • Locate the 'default' instance and click Update
  3. Modify GitLab Configuration
    In the Update default form:

    • Locate the GitLab section
    • Enter:
      • Base URL: The URL of your new GitLab instance
      • Admin Token Secret Namespace: cpaas-system
      • Admin Token Secret Name: aml-gitlab-admin-token
  4. Restart Components
    Restart the aml-controller deployment in the kubeflow namespace.

  5. Refresh Platform Data
    In Alauda AI management view, re-manage all namespaces.

    • In Alauda AI view, navigate to Admin view from Business View
    • On the Namespace Management page, delete all existing managed namespaces
    • Use "Managed Namespace" to add namespaces requiring Alauda AI integration
    INFO

    Original models won't migrate automatically Continue using these models:

    • Recreate and re-upload in new GitLab OR
    • Manually transfer model files to new repository