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

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

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

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

    INFO

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

    Загрузка

    Компоненты оператора:

    • Alauda AI Operator

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

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

    • Alauda AI Model Serving Operator

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

      Пакет для загрузки: 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}, чтобы сделать инструмент исполняемым.

    Загрузка пакетов

    Сохраните следующий скрипт в файл 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=
    
    # Если тип реестра образов целевого кластера не встроенный в платформу (внешний приватный или публичный репозиторий).
    # Требуется дополнительная настройка (раскомментируйте следующую строку):
    # 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
    
    # Отправка пакета оператора **Alauda AI 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[@]}
    
    # Отправка пакета оператора **KServeless** в целевой кластер
    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} — путь к архиву пакета оператора Alauda AI Cluster.
    6. ${KSERVELESS_OPERATOR_PKG_NAME} — путь к архиву пакета оператора KServeless.
    7. ${REGISTRY_ADDRESS} — адрес внешнего реестра.
    8. ${REGISTRY_USERNAME} — имя пользователя внешнего реестра.
    9. ${REGISTRY_PASSWORD} — пароль внешнего реестра.

    После настройки выполните скрипт командой bash ./uploading-ai-cluster-packages.sh для загрузки операторов 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. Выберите Manual для Upgrade Strategy.

    9. Нажмите Install.

    Проверка

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

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

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

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

    Процедура

    В режиме Administrator:

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

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

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

    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 кластера (Рекомендуется для продакшена).
    9. Установите KServe Mode в значение Managed.

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

      INFO

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

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

      • Provided
      • SelfSigned
      • ACPDefaultIngress

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

      Чтобы использовать собственный сертификат, сохраните секрет сертификата в namespace istio-system, затем обновите значение поля 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 является опциональной и требует установки дополнительного оператора и создания экземпляра.

    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. Выберите Manual для Upgrade Strategy.

    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, затем нажмите.

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

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

    6. В выпадающем списке Actions выберите обновление.

      Откроется форма 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, затем нажмите.

    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 кластера (Рекомендуется для продакшена).
      2. Установите Global Registry Address в соответствии с вашим кластером

        Адрес приватного реестра вашего кластера можно найти следующим образом:

        1. В Web Console перейдите в Administrator / Clusters.
        2. Выберите нужный кластер.
        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 после установки

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

    1. Переконфигурируйте сервис GitLab
      Обратитесь к разделу 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. Перезапустите компоненты
      Перезапустите деплоймент aml-controller в namespace kubeflow.

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

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

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

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

    FAQ

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

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

    Для исправления войдите в Pod деплоймента 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