• Русский
  • Обновление Alauda AI

    INFO

    Обновление с 1.5 до 2.3

    Установка компонентов кластера Alauda AI

    Пожалуйста, перейдите к Alauda AI Cluster, чтобы:

    WARNING

    Пожалуйста, игнорируйте Creating Alauda AI Instance, поскольку мы обновляем Alauda AI с ранее управляемой версии.

    1. Загрузить пакеты bundle оператора для Alauda AI и Knative Operator (необязательно).
    2. Загрузить пакеты bundle оператора для Alauda Build of KServe.
    3. Загрузить пакеты bundle оператора в целевой кластер.
    4. Для обновления выполните процесс, описанный ниже.

    Предварительные действия перед обновлением

    Добавление аннотаций для остановленных InferenceService

    Начиная с версии 2.3, платформа использует нативную функцию остановки, предоставляемую KServe. Чтобы обеспечить успешное обновление, все inference services, которые в настоящее время находятся в состоянии stopped, необходимо явно аннотировать перед обновлением.

    WARNING

    Этот шаг обязателен перед обновлением. Если не добавить аннотации для остановленных inference services, после обновления возможна непредвиденная работа.

    1. Выведите список всех inference services, которые в настоящее время остановлены:

      kubectl get inferenceservices --all-namespaces
    2. Для каждого остановленного inference service добавьте следующую аннотацию:

      kubectl annotate inferenceservice <name> -n <namespace> serving.kserve.io/stop='true'

      Кроме того, можно напрямую отредактировать ресурс и добавить аннотацию в metadata.annotations:

      apiVersion: serving.kserve.io/v1beta1
      kind: InferenceService
      metadata:
        name: <name>
        annotations:
          serving.kserve.io/stop: 'true'
    3. Повторите этот шаг для всех остановленных inference services во всех namespaces.

    Обновление

    Ниже описана процедура обновления Alauda AI с версии 1.5 до 2.3.

    Обновление Alauda AI Essentials

    Обновите Alauda AI Essentials на вкладке Functional Components глобального кластера.

    В представлении Administrator перейдите в Clusters / Cluster в левой панели навигации, найдите кластер global в правой панели и нажмите кнопку Upgrade на странице вкладки Functional Components, чтобы запустить обновление.

    INFO

    Все компоненты, для которых требуется обновление, включая Alauda AI Essentials, будут обновлены одновременно и не могут быть обновлены по отдельности.

    После завершения обновления убедитесь, что статус Alauda AI Essentials в списке равен Running, а версия — v2.3.x.

    Обновление Alauda AI Operators

    Процедура обновления оператора почти идентична, отличается только целевой компонент.

    ШагAlauda AI Operator
    1. NavigateВойдите в Web Console, затем перейдите в Marketplace > OperatorHub в представлении Administrator.
    2. SelectВыберите целевой cluster.
    3. ClickНажмите карточку Alauda AI.
    4. ConfirmНажмите Confirm в запросе на обновление.
    INFO

    После того как новая версия будет загружена и распознана платформой, в верхней части страницы оператора появится запрос на обновление.

    Установка оператора Alauda Build of KServe

    Начиная с версии 2.3, Alauda Build of KServe предоставляется как отдельный плагин оператора, чтобы обеспечить более специализированные и гибкие возможности обслуживания моделей. После завершения обновления основного AI-оператора необходимо установить оператор KServe, чтобы включить функцию model serving.

    Подробные шаги по установке и настройке см. в Руководстве по установке Alauda Build of KServe.

    Обновление плагинов кластера

    INFO

    Этот шаг требуется только в том случае, если вы развернули один из следующих плагинов кластера: Alauda AI Workbench, MLflow или Volcano. Если ни один из этих плагинов не развернут, этот шаг можно пропустить.

    Дополнительные сведения о плагинах кластера см. в Alauda Container Platform - Расширение.

    Процедура обновления плагинов кластера включает загрузку пакетов новой версии, а затем обновление их из Web Console. Требуют обновления следующие плагины:

    • Alauda AI Workbench
    • MLflow
    • Volcano

    Загрузка плагинов кластера

    Загрузите пакеты нового плагина кластера в глобальный кластер. Подробные инструкции по загрузке плагинов кластера см. в Загрузка плагинов кластера.

    Повторите процесс загрузки для каждого развернутого вами плагина.

    INFO

    После завершения загрузки подождите примерно 10–15 минут, чтобы платформа синхронизировала информацию о новой версии.

    Проверка новой версии

    Перейдите в Administrator > Marketplace > Upload Packages и переключитесь на вкладку Cluster Plugin. Найдите каждый загруженный плагин, чтобы убедиться, что отображается новая версия.

    Устранение неполадок

    Новая версия не отображается после загрузки (ACP 4.0.x)

    В Alauda Container Platform (ACP) 4.0.x Web Console может не отображать только что загруженную версию плагина кластера, хотя загрузка прошла успешно. Такое поведение является известным ограничением ACP; оно устранено в более новых выпусках ACP.

    Если после ожидания синхронизации новая версия не появляется, можно использовать следующий обходной путь, чтобы задать целевую версию в соответствующем ModuleInfo и напрямую запустить обновление плагина.

    Следующие команды kubectl необходимо выполнять в кластере global.

    Плагин (UI / имя продукта)Идентификатор плагина
    Alauda AI Workbenchworkbench
    Volcanovolcano
    MLflowmlflow
    Kubeflow Training Operatorkftraining
    1. Определите имя ресурса ModuleInfo. Замените <Cluster Name> на имя целевого кластера. Для <Plugin Identifier> используйте значение из столбца Plugin Identifier в таблице выше:

      kubectl get moduleinfoes \
        -l cpaas.io/cluster-name=<Cluster Name>,cpaas.io/module-name=<Plugin Identifier> \
        -o jsonpath='{.items[*].metadata.name}'
    2. Получите <New Version> из статуса ModulePlugin, используя то же значение <Plugin Identifier>, что и на шаге 1 (см. таблицу выше):

      kubectl get moduleplugins <Plugin Identifier> -o jsonpath='{.status.latestVersion}'
    3. Примените patch к ModuleInfo. Замените <ModuleInfo Name> именем из шага 1, а <New Version> — значением из шага 2:

      kubectl patch moduleinfoes <ModuleInfo Name> --type merge -p '{"spec":{"version":"<New Version>"}}'
      WARNING

      Patch вступает в силу немедленно и сразу запускает обновление плагина кластера до <New Version>, минуя действие обновления в Web Console. Перед выполнением команды проверьте строку версии.

    Обновление из Web Console

    1. Перейдите в Administrator > Clusters > Clusters.
    2. Нажмите на кластер, в котором развернуты плагины.
    3. На странице сведений о кластере переключитесь на вкладку Functional Components.
    4. Найдите плагины кластера, для которых доступно обновление — рядом с ними будет отображаться значок обновления.
    5. Нажмите кнопку Upgrade для плагина, который требуется обновить.
    6. Ознакомьтесь с информацией об обновлении во всплывающем окне, подтвердите версию плагина, которую нужно обновить, и нажмите кнопку Upgrade, чтобы начать процесс обновления.

    Повторите этот процесс для каждого развернутого вами плагина.

    INFO

    После того как новая версия будет загружена и распознана платформой, кнопка Upgrade станет доступна для каждого плагина на вкладке Features страницы сведений о кластере.

    Действия после обновления

    Обновление существующих InferenceService

    Из-за несовместимых изменений в определении режима продукта KServe и ресурса InferenceService, введенного в версии 2.3, все inference services, существовавшие до обновления, необходимо обновить вручную.

    WARNING

    Этот шаг обязателен для всех уже существующих inference services. Невыполнение этого обновления может привести к непредвиденному поведению inference services.

    Для каждого существующего inference service выполните следующие шаги:

    1. Перейдите на страницу сведений о inference service.

    2. Нажмите Update Inference Service.

    3. На странице обновления нажмите переключатель YAML в правом верхнем углу, чтобы перейти в YAML-представление.

    4. Найдите поле spec.predictor.model.name.

    5. Полностью удалите поле name и его значение.

      Например, если YAML содержит:

      spec:
        predictor:
          model:
            name: kserve-container
            modelFormat:
              name: sklearn

      После удаления это должно выглядеть так:

      spec:
        predictor:
          model:
            modelFormat:
              name: sklearn
    6. Нажмите Save, чтобы применить изменения.

    7. Повторите этот процесс для всех inference services, которые существовали до обновления.

    Проверка

    Alauda AI

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

    kubectl get amlcluster default

    Должно возвращать Ready:

    NAME      READY   REASON
    default   True    Succeeded

    Alauda Build of KServe

    Проверьте поле status ресурса KServe с именем default-kserve:

    kubectl get kserve default-kserve -n kserve-operator

    Должно возвращать DEPLOYED: True:

    NAME             DEPLOYED   REASON
    default-kserve   True       UpgradeSuccessful

    Другие плагины кластера

    В представлении Administrator перейдите в Marketplace > Cluster Plugins и убедитесь, что следующие плагины кластера имеют статус Installed и отображают новую версию:

    • Alauda AI Workbench (если развернут)
    • MLflow (если развернут)
    • Volcano (если развернут)

    Устаревание Alauda AI Model Serving

    Начиная с серии Alauda AI 2.x, устаревшим считается legacy-оператор Alauda AI Model Serving. Мы настоятельно рекомендуем пользователям, которым требуются serverless inference capabilities, как можно скорее перейти на Knative Operator, чтобы обеспечить долгосрочную поддержку и доступ к последним функциям.

    Руководство по переносу serverless workloads на новый оператор см. в Migrating to Knative Operator.