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

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

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

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

    INFO

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

    Загрузка

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

    • Alauda AI Operator

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

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

    • Knative Operator

      Knative Operator обеспечивает serverless inference моделей.

      Пакет для загрузки: knative-operator.ALL.v1.x.x-yymmdd.tgz

    INFO

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

    Загрузка в кластер

    Необходимо загрузить оба пакета — Alauda AI и Knative Operator — в кластер, где будет использоваться 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 KNATIVE_OPERATOR_PKG_NAME=<path-to-knative-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[@]}
    
    # Отправка пакета оператора **Knative Operator** в целевой кластер
    violet push \
        ${KNATIVE_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. ${KNATIVE_OPERATOR_PKG_NAME} — путь к архиву пакета оператора Knative CE.
    7. ${REGISTRY_ADDRESS} — адрес внешнего реестра.
    8. ${REGISTRY_USERNAME} — имя пользователя внешнего реестра.
    9. ${REGISTRY_PASSWORD} — пароль внешнего реестра.

    После настройки выполните скрипт командой bash ./uploading-ai-cluster-packages.sh для загрузки пакетов Alauda AI и Knative Operator.

    Установка 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 Operator вы можете создать экземпляр Alauda AI.

    Процедура

    В режиме Administrator:

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

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

    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 для экспонирования сервисов обслуживания моделей. Скорее всего, вам понадобится использовать wildcard-имя, например *.example.com.

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

      • Provided
      • SelfSigned
      • ACPDefaultIngress

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

    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. Установка Knative Operator

    INFO

    Начиная с Knative CE Operator, сетевой слой Knative переключается на Kourier, поэтому установка Istio больше не требуется.

    Процедура

    В режиме Administrator:

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

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

    3. Найдите и выберите Knative Operator, затем нажмите Install.

      Откроется окно Install Knative Operator.

    4. В окне Install Knative Operator:

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

    6. Проверьте, что Version соответствует версии Knative Operator, которую вы хотите установить.

    7. Оставьте Installation Location без изменений.

    8. Выберите Manual для Upgrade Strategy.

    9. Нажмите Install.

    Проверка

    Убедитесь, что плитка Knative Operator отображает один из следующих статусов:

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

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

    После установки Knative Operator необходимо вручную создать экземпляр KnativeServing.

    Процедура

    1. Создайте namespace knative-serving.

      kubectl create ns knative-serving
    2. В режиме Administrator перейдите в Operators -> Installed Operators.

    3. Выберите Knative CE Operator.

    4. В разделе Provided APIs найдите KnativeServing и нажмите Create Instance.

    5. Переключитесь в YAML view.

    6. Замените содержимое на следующий YAML:

    7. Нажмите Create.

      apiVersion: operator.knative.dev/v1beta1
      kind: KnativeServing
      metadata:
        name: knative-serving
        namespace: knative-serving
      spec:
        # Для ACP 4.0 используйте версию 1.18.1
        # Для ACP 4.1 и выше используйте версию 1.19.6
        version: "1.18.1"
        config:
          deployment:
            registries-skipping-tag-resolving: kind.local,ko.local,dev.local,private-registry
          domain:
            example.com: ""
          features:
            kubernetes.podspec-affinity: enabled
            kubernetes.podspec-hostipc: enabled
            kubernetes.podspec-hostnetwork: enabled
            kubernetes.podspec-init-containers: enabled
            kubernetes.podspec-nodeselector: enabled
            kubernetes.podspec-persistent-volume-claim: enabled
            kubernetes.podspec-persistent-volume-write: enabled
            kubernetes.podspec-securitycontext: enabled
            kubernetes.podspec-tolerations: enabled
            kubernetes.podspec-volumes-emptydir: enabled
            queueproxy.resource-defaults: enabled
          network:
            domain-template: '{{.Name}}.{{.Namespace}}.{{.Domain}}'
            ingress-class: kourier.ingress.networking.knative.dev
        ingress:
          kourier:
            enabled: true
    1. Для ACP 4.0 оставьте версию "1.18.1". Для ACP 4.1 и выше измените версию на "1.19.6".

    2. private-registry — это заполнитель для адреса вашего приватного реестра. Его можно найти в режиме Administrator, затем перейдите в Clusters, выберите ваш кластер и посмотрите значение Private Registry в разделе Basic Info.

    3. Интеграция с AmlCluster

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

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

    INFO

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

    • APIVersion: operator.knative.dev/v1beta1
    • Kind: KnativeServing
    • Name: knative-serving
    • Namespace: knative-serving

    Замена сервиса 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-skipper

    Путь вывода аудита по умолчанию — /cpaas/audit на хосте. Однако на некоторых ОС (например, MicroOS) корневой путь хоста доступен только для чтения, и каталог /cpaas создать нельзя. В этом случае пользователям необходимо изменить путь вывода аудита.

    Чтобы изменить путь вывода аудита, обновите ресурс AmlCluster по умолчанию, добавив конфигурацию amlSkipper.auditLogHostPath.path в spec.values. Например:

    apiVersion: amlclusters.aml.dev/v1alpha2
    kind: AmlCluster
    metadata:
      name: default
      ...
    spec:
      ...
      values:
        amlSkipper:
          auditLogHostPath:
            path: /var/lib/audit
    NOTE

    Конкретный путь должен соответствовать конфигурации сбора логов Alauda Container Platform Log Collector.