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

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

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

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

    INFO

    Рекомендуемый вариант развертывания: Для генеративных inference нагрузок рекомендуется использовать подход Standard (ранее известный как RawKubernetes 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} — путь к tarball пакету оператора Alauda AI Cluster.
    6. ${KNATIVE_OPERATOR_PKG_NAME} — путь к tarball пакету оператора 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. Создайте namespace 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, затем нажмите.

    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.

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

      INFO

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

      • 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 serverless функциональность для inference-сервисов обеспечивалась оператором Alauda AI Model Serving. В серии 2.x эта функциональность предоставляется Knative Operator. В этом разделе описывается процесс миграции serverless функциональности с устаревшего оператора на новый.

    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 в 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.