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

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

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

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

    INFO

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

    Загрузка

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

    • Alauda AI Operator

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

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

    • Knative Operator

      Knative Operator обеспечивает безсерверный инференс моделей.

      Пакет для загрузки: 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.
    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: установка завершена.

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

    Функциональность Knative — это опциональная возможность, требующая развертывания дополнительного оператора и экземпляра.

    WARNING

    Если вы планируете использовать функциональность Knative, вы ДОЛЖНЫ установить Knative Operator и создать экземпляр Knative Serving ПЕРЕД созданием экземпляра Alauda AI, чтобы обеспечить наличие необходимых CRD в кластере.

    1. Установка Knative Operator

    INFO

    Начиная с версии Knative 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. Создайте пространство имён knative-serving.

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

    3. Выберите Knative 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.

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

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

    Процедура

    В режиме Administrator:

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

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

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

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

      INFO

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

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

      • Provided
      • SelfSigned
      • ACPDefaultIngress

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

    11. (Опционально) Если хотите включить функциональность Knative, в разделе Serverless Configuration установите Knative Serving Provider в значение Operator.

      INFO

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

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

      Если вы не используете функциональность Knative, оставьте Knative Serving Provider как Removed (или пустым), а остальные параметры — пустыми.

    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.

    Миграция на Knative Operator

    В серии продуктов 1.x безсерверная функциональность для сервисов инференса обеспечивалась оператором Alauda AI Model Serving. В серии 2.x эта функциональность предоставляется оператором Knative Operator. В этом разделе описывается процесс миграции безсерверной функциональности с устаревшего оператора на новый.

    1. Удаление устаревшего экземпляра Serving

    Процедура

    В режиме Administrator:

    1. Нажмите Marketplace / OperatorHub.
    2. В верхней части консоли в выпадающем списке Cluster выберите целевой кластер, где установлен Alauda AI.
    3. Выберите Alauda AI, затем перейдите на вкладку All Instances.
    4. Найдите экземпляр default и нажмите Update.
    5. В форме обновления найдите раздел Serverless Configuration.
    6. Установите BuiltIn Knative Serving в значение Removed.
    7. Нажмите Update для применения изменений.

    2. Установка Knative Operator и создание экземпляра Serving

    Установите Knative Operator из Marketplace и создайте экземпляр KnativeServing. Подробные инструкции см. в разделе Включение функциональности Knative.

    INFO

    После выполнения вышеуказанных шагов миграция управляющей плоскости Knative Serving завершена.

    • Если вы мигрируете с комбинации Alauda AI 2.0 + Alauda AI Model Serving, миграция полностью завершена. Бизнес-сервисы автоматически переключат свою конфигурацию в ближайшее время.
    • Если вы мигрируете с комбинации Alauda AI 1.x + Alauda AI Model Serving, убедитесь, что одновременно происходит обновление Alauda AI до версии 2.x.

    Замена сервиса 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 в пространстве имён kubeflow.

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

      • В режиме Alauda AI перейдите в режим Admin из Business View
      • На странице Namespace Management удалите все существующие управляемые пространства имён
      • Используйте "Managed 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.