Перейти к содержанию

Обновления контента OTA

GPUStack извлекает свой каталог моделей, Community Backend Marketplace и встроенные серверные версии с официального OTA-сервера, поэтому новые модели и серверные версии достигают работающей службы GPUStack без обновления или перезапуска.

Обновления включены по умолчанию, а контент поступает с одного хоста, https://ota.gpustack.ai/latest. Если ваша служба GPUStack работает в сети с ограниченным доступом, достаточно одного хоста. Вы также можете переключиться на файл, который вы поддерживаете самостоятельно, и который доступен из этой сети. Третий вариант — разместить собственную копию OTA-сервера и указать на нее GPUStack при запуске с помощью --ota-server-url. Все три типа контента по-прежнему обновляются автоматически, они просто считываются с вашей копии. См. начало.

Источники настраиваются на странице, на которой размещен контент. Каталог находится на странице Model Service > Catalog, а оба типа внутреннего контента — на странице Model Service > Inference Backends. Оба используют кнопку Manage Sources, которую могут видеть только администраторы платформы.

Что обновляется через OTA

Контент Что публикует OTA-сервер
Каталог моделей Новые и измененные записи каталога
Торговая площадка серверной части сообщества Новые и пересмотренные определения серверной части сообщества
Версии встроенной серверной части Новые версии и их образы для встроенных серверных частей, таких как vLLM и SGLang

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

Источник Обслуживает Автообновления
URL Файл, который сервер извлекает и сохраняет. Необязательно
Yaml File Файл, который вы вставляете. Только каталог моделей. Нет
Embedded Только то, что было в комплекте с этим выпуском. Нет доступа к сети. Нет

Оставьте источник пустым, и он продолжит следовать за OTA-сервером, отмеченным Official в пользовательском интерфейсе. Как только вы настроите собственный URL-адрес или файл Yaml, он перестанет следовать за сервером OTA и будет использовать то, что вы предоставляете.

Ваш Source URL должен соответствовать следующим условиям:

  • Это должно быть http(s), и оно не должно содержать учетных данных.
  • Он должен указывать на сам файл, а не на страницу репозитория.
  • Размер файла не должен превышать 4 МБ, кодировка UTF-8.

Файл извлекается сервером, поэтому ни одному воркеру не нужен доступ к этому адресу.

Настройка источника каталога

  1. Перейдите на страницу Model Service > Catalog.
  2. Нажмите кнопку Manage Sources.
  3. В ящике Catalog Source выберите один из двух типов источника:

    • URL: введите Source URL.

      Скриншот: ящик «Источник каталога» с источником URL

    • Yaml File: вставьте содержимое в Content или нажмите Import, чтобы загрузить файл в редактор.

      Снимок экрана: ящик «Исходный код каталога» с редактором файлов Yaml

  4. Нажмите Save.

Примечание

Начните с уже существующего контента, а не с пустого файла. В Yaml File нажмите Official File, чтобы загрузить то, что в данный момент обслуживает OTA-сервер. В URL поле Source URL уже заполнено адресом, по которому он следует в данный момент, поэтому вы можете скопировать его оттуда.

Настройка источников бэкендов

Два типа внутреннего контента обновляются независимо, и каждый имеет свой собственный источник. Один ящик объединяет оба в виде панелей:

  1. Перейдите на страницу Model Service > Inference Backends.
  2. Нажмите кнопку Manage Sources.
  3. В ящике Backend Source разверните нужную вам панель:
    • Built-in backend source: версии и образы встроенных бэкендов (vLLM, SGLang, MindIE, VoxBox).
    • Community backend source: Серверная площадка сообщества.
  4. Выберите URL и введите Source URL. Оба типа поддерживают только URL-адрес, а не вставленный контент.
  5. Нажмите кнопку Save на этой панели. Каждая панель сохраняет по своему.

Скриншот: ящик Backend Source с раскрытыми обеими панелями

Предупреждение

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

Примечание

Если бэкенд сообщества отсутствует в новом файле, но включён или содержит добавленную вручную версию, он сохраняется как пользовательский бэкенд, чтобы модели продолжали работать. Если источник снова опубликует его, он опять станет бэкендом сообщества, однако включить его нужно самостоятельно. Отключённый и не изменённый вручную бэкенд удаляется; поэтому отредактированный у него default_env не восстановится при его возвращении.

Управление расписанием обновлений

Каждый источник имеет свои настройки обновления:

  • Auto-update: следует ли автоматически проверять наличие обновлений через фиксированный интервал. Он включен по умолчанию, пока вид следует за OTA-сервером. После того, как вы переключитесь на собственный URL, он по умолчанию отключен, поэтому выберите его самостоятельно.
  • Update Interval (hours): появляется после выбора Auto-update. Это интервал между автоматическими проверками, по умолчанию 12 часов, и вы можете его изменить.
  • Update Now: проверить один раз сразу, не дожидаясь паузы.

После изменения Source URL нажмите Save. Он сохраняет новый адрес и сразу же извлекает его. Ничего не загружается повторно, если содержимое не изменилось.

Примечание

Временно недоступный OTA-сервер не влияет на обслуживание. Уже полученный контент продолжает обслуживаться, ошибка фиксируется, и следующая попытка следует в течение часа. Кластер, который никогда не достигал OTA-сервера, обслуживает встроенный контент. Этот контент является полным, он просто не включает ничего, опубликованного после вашей текущей версии GPUStack.

Остановка обновлений и обслуживание встроенного контента

Очистка Auto-update только останавливает проверки, и уже полученный контент по-прежнему обслуживается. Чтобы вообще прекратить показ полученного контента, выберите Embedded и сохраните. Тогда этот тип будет использоваться только с тем, с чем был упакован выпуск, так же, как и новая автономная установка.

Переключитесь на Embedded, когда, например, запись каталога не подходит вашему кластеру или образы некоторых версий бэкенда не могут быть извлечены в вашей среде.

  • Ни одна конфигурация не теряется. URL-адрес и введенный вами контент сохраняются, они только выводятся из эксплуатации. Нажмите URL или Yaml File еще раз, чтобы восстановить их.
  • Сеть не требуется. Вы можете переключиться на Embedded, даже если файл, который вы хотите прекратить использовать, уже недоступен.
  • Он влияет на этот тип контента, вступает в силу немедленно на каждом сервере и не требует перезапуска.
  • Нажмите Reset to Official Source, чтобы вернуться к отслеживанию OTA-сервера. Это очистит то, что вы ввели.

Предупреждение

При переходе на Embedded доступных версий бэкендов становится меньше, поэтому переход может быть отклонён по той же причине. Заранее убедитесь, что ни одно развёртывание не использует версию, присутствующую только в загруженном содержимом.