• Русский
  • Установка Alauda AI

    Alauda AI теперь предлагает гибкие варианты развертывания. Начиная с Alauda AI 1.4, возможность Serverless является необязательной, что позволяет выполнить более упрощенную установку, если она не требуется.

    Для начала необходимо развернуть Alauda AI Operator. Это основной механизм для всех продуктов Alauda AI. По умолчанию он использует режим KServe Raw Deployment для backend инференса, который особенно рекомендуется для ресурсоемких генеративных нагрузок. Этот режим предоставляет простой способ развертывания моделей и обеспечивает надежные, настраиваемые возможности развертывания за счет использования базовых функций Kubernetes.

    Если вашему сценарию требуется функциональность Serverless, которая включает расширенные возможности, такие как масштабирование до нуля по требованию для оптимизации затрат, вы можете дополнительно установить Alauda AI Model Serving Operator. Этот operator не входит в установку по умолчанию и может быть добавлен в любое время для включения функциональности Serverless.

    INFO

    Рекомендуемый вариант развертывания: для рабочих нагрузок генеративного инференса рекомендуется подход Raw Kubernetes Deployment, поскольку он обеспечивает максимальный контроль над распределением ресурсов и масштабированием.

    Загрузка

    Компоненты Operator:

    • Alauda AI Operator

      Alauda AI Operator — это основной механизм, на котором работают продукты Alauda AI. Он сосредоточен на двух ключевых функциях: управлении моделями и сервисах инференса, а также предоставляет гибкую framework, которую можно легко расширять.

      Пакет для загрузки: aml-operator.xxx.tgz

    • Alauda AI Model Serving Operator

      Alauda AI Model Serving Operator обеспечивает serverless-инференс моделей.

      Пакет для загрузки: kserveless-operator.xxx.tgz

    INFO

    Вы можете скачать приложения с названиями 'Alauda AI' и 'Alauda AI Model Serving' в Marketplace на сайте Customer Portal.

    Загрузка

    Нам нужно загрузить как Alauda AI, так и Alauda AI Model Serving в кластер, в котором будет использоваться Alauda AI.

    Загрузка утилиты violet

    Сначала необходимо скачать утилиту violet, если она отсутствует на машине.

    Войдите в Web Console и переключитесь в представление Administrator:

    1. Нажмите Marketplace / Upload Packages.
    2. Нажмите Download Packaging and Listing Tool.
    3. Найдите нужную ОС / архитектуру CPU в разделе Execution Environment.
    4. Нажмите Download, чтобы скачать утилиту violet.
    5. Выполните chmod +x ${PATH_TO_THE_VIOLET_TOOL}, чтобы сделать утилиту исполняемой.

    Загрузка package

    Сначала сохраните следующий скрипт в uploading-ai-cluster-packages.sh, затем прочитайте комментарии ниже, чтобы обновить переменные окружения для настройки в этом скрипте.

    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_ADDRESS=<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} — это адрес платформы ACP.
    2. ${PLATFORM_ADMIN_USER} — имя пользователя администратора платформы ACP.
    3. ${PLATFORM_ADMIN_PASSWORD} — пароль администратора платформы ACP.
    4. ${CLUSTER} — имя кластера, в который будут установлены компоненты Alauda AI.
    5. ${AI_CLUSTER_OPERATOR_NAME} — путь к tarball-пакету Alauda AI Cluster Operator.
    6. ${KSERVELESS_OPERATOR_PKG_NAME} — путь к tarball-пакету KServeless Operator.
    7. ${REGISTRY_ADDRESS} — адрес внешнего registry.
    8. ${REGISTRY_USERNAME} — имя пользователя внешнего registry.
    9. ${REGISTRY_PASSWORD} — пароль внешнего registry.

    После настройки выполните скрипт с помощью bash ./uploading-ai-cluster-packages.sh, чтобы загрузить оба operator: Alauda AI и Alauda AI Model Serving.

    Установка Alauda AI Operator

    Процедура

    В представлении Administrator:

    1. Нажмите Marketplace / OperatorHub.

    2. В верхней части консоли в раскрывающемся списке Cluster выберите целевой кластер, в который вы хотите установить Alauda AI.

    3. Выберите Alauda AI, затем нажмите Install.

      Откроется окно Install Alauda AI.

    4. Затем в окне Install Alauda AI.

    5. Оставьте Channel без изменений.

    6. Проверьте, соответствует ли Version версии Alauda AI, которую вы хотите установить.

    7. Оставьте Installation Location без изменений; по умолчанию это должно быть aml-operator.

    8. В качестве Upgrade Strategy выберите Manual.

    9. Нажмите Install.

    Проверка

    Убедитесь, что плитка Alauda AI отображает одно из следующих состояний:

    • Installing: установка выполняется; дождитесь, пока состояние изменится на Installed.
    • Installed: установка завершена.

    Создание экземпляра Alauda AI

    После установки Alauda AI Operator вы можете создать экземпляр Alauda AI.

    Процедура

    В представлении Administrator:

    1. Нажмите Marketplace / OperatorHub.

    2. В верхней части консоли в раскрывающемся списке Cluster выберите целевой кластер, в который вы хотите установить Alauda AI Operator.

    3. Выберите Alauda AI, затем нажмите Click.

    4. На странице Alauda AI откройте вкладку All Instances.

    5. Нажмите Create.

      Откроется окно Select Instance Type.

    6. Найдите плитку AmlCluster в окне Select Instance Type, затем нажмите Create.

      Откроется форма Create AmlCluster.

    7. Оставьте default без изменений для Name.

    8. Выберите Deploy Flavor из раскрывающегося списка:

      1. single-node для развертываний без HA.
      2. ha-cluster для HA cluster-развертываний (рекомендуется для production).
    9. Установите KServe Mode в значение Managed.

    10. Введите допустимый домен в поле Domain.

      INFO

      Этот домен используется ingress gateway для публикации model serving services. Скорее всего, вам потребуется использовать wildcard-имя, например *.example.com.

      Вы можете указать следующие типы сертификатов, изменив поле Domain Certificate Type:

      • Provided
      • SelfSigned
      • ACPDefaultIngress

      По умолчанию конфигурация использует тип сертификата SelfSigned для защиты ingress-трафика к вашему кластеру; сертификат хранится в secret knative-serving-cert, который указан в поле Domain Certificate Secret.

      Чтобы использовать сертификат, предоставленный вами, сохраните secret сертификата в namespace istio-system, затем обновите значение поля Domain Certificate Secret и измените значение поля Domain Certificate Secret на Provided.

    11. В разделе Serverless Configuration установите Knative Serving Provider в значение Operator; остальные параметры оставьте пустыми.

    12. В разделе Gitlab:

      1. Укажите URL self-hosted Gitlab в поле Base URL.
      2. Укажите cpaas-system для Admin Token Secret Namespace.
      3. Укажите aml-gitlab-admin-token для Admin Token Secret Name.
    13. Проверьте настройки выше и затем нажмите Create.

    Проверка

    Проверьте поле статуса ресурса AmlCluster с именем default:

    kubectl get amlcluster default

    Должно вернуть Ready:

    NAME      READY   REASON
    default   True    Succeeded

    Теперь основные возможности Alauda AI успешно развернуты. Если вы хотите быстро познакомиться с продуктом, обратитесь к Quick Start.

    Включение функциональности Serverless

    Функциональность Serverless является необязательной возможностью, для которой требуется развернуть дополнительный operator и экземпляр.

    1. Установка Alauda AI Model Serving Operator

    Предварительные требования

    Возможность Serverless использует Istio Gateway для сетевого взаимодействия. Сначала установите Service Mesh, следуя документации.

    Процедура

    В представлении Administrator:

    1. Нажмите Marketplace / OperatorHub.

    2. В верхней части консоли в раскрывающемся списке Cluster выберите целевой кластер, в который вы хотите выполнить установку.

    3. Выберите Alauda AI Model Serving, затем нажмите Install.

      Откроется окно Install Alauda AI Model Serving.

    4. Затем в окне Install Alauda AI Model Serving.

    5. Оставьте Channel без изменений.

    6. Проверьте, соответствует ли Version версии Alauda AI Model Serving, которую вы хотите установить.

    7. Оставьте Installation Location без изменений; по умолчанию это должно быть kserveless-operator.

    8. В качестве Upgrade Strategy выберите Manual.

    9. Нажмите Install.

    Проверка

    Убедитесь, что плитка Alauda AI Model Serving отображает одно из следующих состояний:

    • Installing: установка выполняется; дождитесь, пока состояние изменится на Installed.
    • Installed: установка завершена.

    2. Создание экземпляра Alauda AI Model Serving

    После установки Alauda AI Model Serving Operator вы можете создать экземпляр. Это можно сделать двумя способами:

    Автоматическое создание (рекомендуется)

    Вы можете автоматически создать и управлять экземпляром с помощью AmlCluster, изменив его параметры.

    В представлении Administrator:

    1. Нажмите Marketplace / OperatorHub.

    2. В верхней части консоли в раскрывающемся списке Cluster выберите целевой кластер, в который вы ранее установили AmlCluster.

    3. Выберите Alauda AI, затем нажмите Click.

    4. На странице Alauda AI откройте вкладку All Instances.

    5. Нажмите имя default.

    6. Найдите раскрывающийся список Actions и выберите update.

      Откроется форма update default.

    7. В разделе Serverless Configuration:

      1. Установите Knative Serving Provider в значение Legacy.
      2. Установите BuiltIn Knative Serving в значение Managed.
    8. Оставьте все остальные параметры без изменений. Нажмите Update.

    Ручное создание и интеграция

    Вы можете вручную создать экземпляр KnativeServing (knativeservings.components.aml.dev).

    В представлении Administrator:

    1. Нажмите Marketplace / OperatorHub.

    2. В верхней части консоли в раскрывающемся списке Cluster выберите целевой кластер, в который вы хотите выполнить установку.

    3. Выберите Alauda AI Model Serving, затем нажмите Click.

    4. На странице Alauda AI Model Serving откройте вкладку All Instances.

    5. Нажмите Create.

      Откроется окно Select Instance Type.

    6. Найдите плитку KnativeServing в окне Select Instance Type, затем нажмите Create.

      Откроется форма Create KnativeServing.

    7. Оставьте default-knative-serving без изменений для Name.

    8. Оставьте knative-serving без изменений для Knative Serving Namespace.

    9. В разделе Ingress Gateway настройте следующее:

      1. Установите Ingress Gateway Istio Revision в значение, соответствующее вашей версии Istio (например, 1-22).
      2. Установите допустимый домен в поле Domain.
      3. Установите подходящий Domain Certificate Type.
      INFO

      Подробности настройки домена и типа сертификата см. в соответствующем разделе.

    10. В разделе Values настройте следующее:

      1. Выберите Deploy Flavor из раскрывающегося списка:

        1. single-node для развертываний без HA.
        2. ha-cluster для HA cluster-развертываний (рекомендуется для production).
      2. Установите Global Registry Address в соответствии с вашим кластером

        Вы можете узнать адрес private registry вашего кластера, выполнив следующие шаги:

        1. В Web Console перейдите в Administrator / Clusters.
        2. Выберите целевой cluster.
        3. На вкладке Overview найдите значение Private Registry address в разделе Basic Info.

    Настройте экземпляр AmlCluster для интеграции с экземпляром KnativeServing.

    В окне обновления экземпляра AmlCluster необходимо заполнить обязательные параметры в разделе Serverless Configuration.

    INFO

    После первоначальной установки вы увидите, что только Knative Serving Provider установлен в значение Operator. Теперь необходимо указать значения для следующих параметров:

    • APIVersion: components.aml.dev/v1alpha1
    • Kind: KnativeServing
    • Name: default-knative-serving
    • Поле Namespace оставьте пустым.

    Замена GitLab Service после установки

    Если вы хотите заменить GitLab Service после установки, выполните следующие шаги:

    1. Переconfigure GitLab Service Ознакомьтесь с Pre-installation Configuration и повторно выполните его шаги.

    2. Обновление экземпляра Alauda AI

      • В представлении Administrator перейдите в Marketplace > OperatorHub
      • В раскрывающемся списке Cluster выберите целевой кластер
      • Выберите Alauda AI и откройте вкладку All Instances
      • Найдите экземпляр 'default' и нажмите Update
    3. Изменение конфигурации GitLab В форме Update default:

      • Найдите раздел GitLab
      • Укажите:
        • Base URL: URL вашего нового экземпляра GitLab
        • Admin Token Secret Namespace: cpaas-system
        • Admin Token Secret Name: aml-gitlab-admin-token
    4. Перезапуск компонентов Перезапустите deployment aml-controller в namespace kubeflow.

    5. Обновление данных платформы В представлении управления Alauda AI повторно выполните управление всеми namespace.

      • В представлении Alauda AI перейдите в Admin из Business View
      • На странице Namespace Management удалите все существующие управляемые namespace
      • Используйте "Managed Namespace" для добавления namespace, требующих интеграции с Alauda AI
        INFO

        Исходные модели не будут автоматически перенесены Продолжайте использовать эти модели:

        • Создайте заново и повторно загрузите в новый GitLab ИЛИ
        • Вручную перенесите файлы моделей в новый repository

    FAQ

    1. Почему aml-api-deploy не удается обновить базу данных после установки или обновления?

    Известна проблема, при которой компонент aml-api-deploy может некорректно инициализировать базу данных после установки, а также может не выполнить миграцию схемы базы данных во время обновления. Это может повлиять на такие расширенные функции, как предварительный просмотр набора данных и fine-tuning.

    Чтобы устранить эту проблему, войдите в Pod deployment aml-api-deploy в namespace kubeflow:

    kubectl -n kubeflow exec -it deploy/aml-api-deploy -- /bin/bash

    Затем выполните следующие команды в контейнере:

    cd /work/aml_api
    alembic revision --autogenerate -m "initdb"
    alembic upgrade head