gpustack start
Запуск сервера или воркера GPUStack.
Расположение аргументов CLI
В Docker фактическая команда, выполняемая docker run, состоит из ENTRYPOINT и COMMAND.
В образе gpustack/gpustack задан ENTRYPOINT, который можно понимать как следующую команду (или считать ей эквивалентным):
1 | |
Поэтому аргументы CLI для gpustack start следует указывать после имени образа, в конце команды docker run, а не как параметры самой команды docker run.
Пример:
1 | |
В Kubernetes эти аргументы указываются в поле args спецификации контейнера.
Настройки
Общие параметры
Флаг | По умолчанию | Описание |
|---|---|---|
--advertise-address значение | (пусто) | IP-адрес для внешнего доступа. Если не задан, система автоматически определяет подходящий локальный IP-адрес. |
--config-file значение | (пусто) | Путь к YAML-файлу конфигурации. |
-d значение, --debug значение | False | Включить режим отладки. Короткий флаг -d не поддерживается в Windows, поскольку PowerShell резервирует его для CommonParameters. |
--data-dir значение | (пусто) | Каталог хранения данных. Значение по умолчанию зависит от ОС. |
--cache-dir значение | (пусто) | Каталог хранения кэша, например файлов моделей. По умолчанию — |
--huggingface-token значение | (пусто) | Пользовательский токен доступа для аутентификации в Hugging Face Hub. Его также можно задать переменной среды HF_TOKEN. |
--insecure-tls | False | Пропустить проверку TLS в собственных HTTPS-соединениях GPUStack: от воркера к серверу и от сервера к IdP внешней аутентификации. Предназначено для доверенных сетей, где сертификат сервера нельзя проверить иначе. |
--bin-dir значение | (пусто) | Каталог для дополнительных бинарных файлов, например исполняемых файлов бэкендов разных версий. |
--pipx-path значение | (пусто) | Путь к исполняемому файлу pipx для установки бэкендов разных версий. |
--system-default-container-registry значение | docker.io | Реестр контейнеров по умолчанию, из которого GPUStack загружает системные образы и образы инференса. Все рабочие образы GPUStack должны находиться в пространстве имён gpustack; при многоуровневом пространстве имён gpustack должен оставаться последним уровнем, например awesome.com/amazing-group/amazing-subgroup/gpustack. Затем задайте этому флагу (либо ключу конфигурации сервера/воркера system_default_container_registry, либо переменной среды GPUSTACK_SYSTEM_DEFAULT_CONTAINER_REGISTRY) родительский путь, например awesome.com/amazing-group/amazing-subgroup.Если образы нельзя разместить в пространстве имён gpustack (например, используется gpustack-ai), соответственно измените --image-repo и --benchmark-image-repo. |
--image-repo значение | gpustack/gpustack | Переопределить репозиторий образа контейнера GPUStack по умолчанию. Не включайте тег в значение: GPUStack добавляет тег версии автоматически. Если образ gpustack/gpustack:<tag> находится вне пространства имён gpustack, например awesome.com/amazing-group/amazing-subgroup/gpustack-ai/gpustack:<tag>, сначала задайте --system-default-container-registry=awesome.com/amazing-group/amazing-subgroup, указав реестр с родительским пространством имён, а затем задайте этому флагу (либо ключу конфигурации сервера/воркера image_repo, либо переменной среды GPUSTACK_IMAGE_REPO) значение gpustack-ai/gpustack. |
--gateway-mode значение | auto | Режим работы шлюза. Варианты: embedded, in-cluster, external, disabled или auto (по умолчанию). |
--gateway-kubeconfig значение | (пусто) | Путь к kubeconfig для шлюза. Используется только при gateway-mode=external. |
--gateway-namespace значение | higress-system | Пространство имён, в котором развёрнут компонент шлюза. |
--service-discovery-name значение | (пусто) | Имя сервиса обнаружения служб в DNS. Используется только при развёртывании в Kubernetes с обнаружением служб. |
--namespace значение | (пусто) | Пространство имён Kubernetes, в котором GPUStack развёртывает правила маршрутизации шлюза и экземпляры моделей. |
Параметры сервера
Флаг | По умолчанию | Описание |
|---|---|---|
--port значение | 80 | Порт, на котором сервер принимает соединения. |
--tls-port значение | 443 | Порт, на котором TLS-сервер принимает соединения. |
--api-port значение | 30080 | Порт, на котором API-сервер GPUStack принимает соединения. |
--proxy-port значение | 30079 | Порт, на котором прокси-сервер GPUStack принимает соединения. |
--database-port значение | 5432 | Порт встроенной базы данных PostgresSQL. |
--metrics-port значение | 10161 | Порт публикации метрик сервера. |
--disable-metrics | False | Отключить метрики сервера. |
--disable-worker | (пусто) | (УСТАРЕЛО) Отключить встроенный воркер сервера GPUStack. В новых установках встроенный воркер по умолчанию отсутствует. При необходимости включите его флагом '--enable-worker'. Если ни один флаг не задан, ради обратной совместимости встроенный воркер по умолчанию включается в старых установках, созданных до v2.0.1. |
--enable-worker | False | Включить встроенный воркер сервера GPUStack. |
--bootstrap-password значение | Автоматически. | Начальный пароль пользователя-администратора по умолчанию. |
--database-url значение | Встроенная PostgreSQL. | URL базы данных. Поддерживаются PostgreSQL 13.0+, MySQL 8.0.36+ и совместимые базы данных, например openGauss (схема postgresql://) и OceanBase (схема mysql://). Пример: postgresql://username:password@host:port/dbname или mysql://username:password@host:port/dbname |
--redis-url значение | None | URL внешнего Redis для функций, которым требуется быстрое общее состояние (бэкенд общего состояния плагина LB). Формат: redis://host[:port][/db]. Учётные данные не допускаются, поскольку они сохранялись бы в CR шлюза; TLS (rediss://) не поддерживается. |
--ssl-keyfile значение | (пусто) | Путь к файлу SSL-ключа. |
--ssl-certfile значение | (пусто) | Путь к файлу SSL-сертификата. |
--ssl-ca-certfile значение | (пусто) | Путь к PEM-пакету CA, с помощью которого воркеры проверяют сервер GPUStack. Требуется, если сертификат сервера подписан частным CA. |
--force-auth-localhost | (не задано) | (Устарело, не действует) Запросы с localhost всегда проходят аутентификацию. Сохранено для обратной совместимости и будет удалено в будущем выпуске. |
--disable-update-check | False | Отключить проверку обновлений. |
--ota-server-url значение | (пусто) | URL OTA-сервера, с которого читаются официальные источники содержимого: индекс и файлы находятся непосредственно под этим URL, например https://ota.example.com/gpustack. По умолчанию используется публичный OTA-сервер. Укажите собственную копию, если он недоступен из вашей сети, или чтобы обслуживать внутреннюю установку из собственного репозитория. Настройка охватывает все три вида содержимого: они сохраняют статус Official и автоматическое обновление; действие Reset to Official Source в интерфейсе возвращает к этому адресу. См. Обновления содержимого OTA. |
--disable-openapi-docs | False | Отключить автоматически создаваемые конечные точки документации OpenAPI: Swagger UI на /docs, ReDoc на /redoc и исходную спецификацию на /openapi.json. |
--model-catalog-file значение | (пусто) | Путь или URL файла каталога моделей. |
--enable-cors | False | Включить Cross-Origin Resource Sharing (CORS) на сервере. |
--allow-credentials | False | Разрешить cookie и учётные данные в междоменных запросах. |
--allow-origins значение | ["*"] | Источники, разрешённые для междоменных запросов. Для нескольких источников укажите флаг несколько раз. Пример: --allow-origins https://example.com --allow-origins https://api.example.com |
--allow-methods значение | ["GET", "POST"] | HTTP-методы, разрешённые в междоменных запросах. Для нескольких методов укажите флаг несколько раз. Пример: --allow-methods GET --allow-methods POST |
--allow-headers значение | ["Authorization", "Content-Type", "X-API-Key"] | HTTP-заголовки, разрешённые в междоменных запросах. Для нескольких заголовков укажите флаг несколько раз. Пример: --allow-headers Authorization --allow-headers X-API-Key --allow-headers Content-Type |
--oidc-issuer значение | (пусто) | URL издателя OpenID Connect. |
--oidc-client-id значение | (пусто) | Идентификатор клиента OpenID Connect. |
--oidc-client-secret значение | (пусто) | Секрет клиента OpenID Connect. |
--oidc-redirect-uri значение | (пусто) | URI перенаправления, настроенный в приложении OIDC. Должен иметь значение <server-url>/auth/oidc/callback. |
--external-auth-post-logout-redirect-key значение | (пусто) | Общее имя параметра для перенаправления после выхода у разных IdP. Применяется к OIDC и SAML. |
--oidc-skip-userinfo | False | Не запрашивать OIDC userinfo_endpoint, а попытаться прочитать сведения непосредственно из заголовка. |
--oidc-use-userinfo | (пусто) | [Устарело] Получать сведения о пользователе через конечную точку UserInfo после аутентификации. |
--saml-idp-server-url значение | (пусто) | URL сервера поставщика удостоверений SAML. |
--saml-idp-entity-id значение | (пусто) | Идентификатор сущности поставщика удостоверений SAML. |
--saml-idp-x509-cert значение | (пусто) | Сертификат X.509 поставщика удостоверений SAML. |
--saml-sp-entity-id значение | (пусто) | Идентификатор сущности поставщика услуг SAML. |
--saml-sp-acs-url значение | (пусто) | URL Assertion Consumer Service поставщика услуг SAML. Должен иметь значение <server-url>/auth/saml/callback. |
--saml-sp-x509-cert значение | (пусто) | Сертификат X.509 поставщика услуг SAML. |
--saml-sp-private-key значение | (пусто) | Закрытый ключ поставщика услуг SAML. |
--saml-idp-logout-url значение | (пусто) | URL конечной точки Single Logout поставщика удостоверений SAML. |
--saml-sp-slo-url значение | (пусто) | URL обратного вызова Single Logout Service поставщика услуг SAML (например, <server-url>/auth/saml/logout/callback). |
--saml-security значение | (пусто) | Параметры безопасности SAML в формате JSON. |
--cas-server-url значение | (пусто) | Базовый URL сервера CAS (Central Authentication Service), например https://cas.example.com/cas. Его настройка включает вход через CAS. |
--cas-callback-url значение | (пусто) | URL обратного вызова CAS, зарегистрированный на CAS-сервере. Если не задан, используется <server-url>/auth/cas/callback. |
--cas-validate-endpoint значение | /p3/serviceValidate | Конечная точка проверки билетов CAS относительно --cas-server-url. Для серверов до CAS 3.0 используйте /serviceValidate (без поддержки атрибутов). |
--cas-username-attribute значение | (пусто) | Имя XML-атрибута CAS, используемого как имя пользователя GPUStack. Если не задано, используется элемент CAS cas:user. |
--cas-full-name-attribute значение | (пусто) | Имя XML-атрибута CAS, используемого как полное имя пользователя. |
--cas-avatar-attribute значение | (пусто) | Имя XML-атрибута CAS, используемого как URL аватара пользователя. |
--external-auth-provider-name значение | (пусто) | Имя поставщика удостоверений, отображаемое на кнопке SSO страницы входа, например Okta. Если не задано, используется имя протокола (OIDC/SAML/CAS). |
--external-auth-name значение | (пусто) | Сопоставление сведений внешней аутентификации с именем пользователя, например preferred_username. |
--external-auth-full-name значение | (пусто) | Сопоставление сведений внешней аутентификации с полным именем пользователя. Можно объединять несколько элементов, например name или firstName+lastName. |
--external-auth-avatar-url значение | (пусто) | Сопоставление сведений внешней аутентификации с URL аватара пользователя. |
--external-auth-default-inactive | False | True, если новые пользователи должны быть по умолчанию деактивированы. |
--external-auth-insecure-skip-tls-verify | False | Пропустить проверку TLS при установлении соединения с IdP внешней аутентификации (OIDC/CAS). Только для тестирования самоподписанных IdP; никогда не используйте в рабочей среде. |
--server-external-url значение | (пусто) | Внешний URL сервера для регистрации воркеров. Обязателен при подготовке воркеров через облачных провайдеров, чтобы они могли корректно подключиться к серверу. |
--trusted-hosts значение | (пусто) | Список разрешённых значений заголовка the X-Forwarded-Host за обратным прокси. Если не задан, формируется из --server-external-url. Если оба параметра не заданы, используется *, доверяющий любому хосту (не рекомендуется, если сервер доступен не только через доверенный прокси). |
--saml-sp-attribute-prefix значение | (пусто) | Префикс атрибутов поставщика услуг SAML для получения атрибутов, заданных через --external-auth-*. |
--gateway-concurrency значение | 16 | Число одновременных соединений встроенного шлюза. |
--disable-builtin-observability | False | Отключить встроенные сервисы Grafana и Prometheus. |
--builtin-prometheus-port значение | 19090 | Порт встроенного сервиса Prometheus. |
--builtin-grafana-port значение | 13000 | Порт встроенного сервиса Grafana. |
--prometheus-url значение | (пусто) | Базовый URL внешнего Prometheus для запросов. Если не задан, используется встроенный сервис, когда он включён. Задайте этот параметр, чтобы функции на основе метрик (панели моделей и PD, самопроверка пропускной способности) работали в установке с собственным стеком наблюдаемости. |
--grafana-url значение | (пусто) | Базовый URL Grafana для перенаправления к панелям и проксирования. Должен быть доступен из браузера, а не только по имени внутри контейнера. Если задан, встроенные Grafana и Prometheus отключаются. Требуется только для внешней Grafana. |
--grafana-worker-dashboard-uid значение | (пусто) | UID панели Grafana для перенаправления к панели воркера. |
--grafana-model-dashboard-uid значение | (пусто) | UID панели Grafana для перенаправления к панели модели. |
Параметры воркера
Флаг | По умолчанию | Описание |
|---|---|---|
-t значение, --token значение | Автоматически. | Общий секрет для регистрации воркера. |
-s значение, --server-url значение | (пусто) | Сервер для подключения. |
--worker-name значение | (пусто) | Имя узла-воркера. По умолчанию используется имя хоста. |
--worker-ip значение | (пусто) | IP-адрес узла-воркера. По умолчанию определяется автоматически. |
--disable-worker-metrics | False | Отключить метрики. |
--worker-metrics-port значение | 10151 | Порт публикации метрик. |
--worker-port значение | 10150 | Порт, на котором воркер принимает соединения. Используйте одинаковое значение для всех воркеров. |
--service-port-range значение | 40000-40063 | Диапазон портов сервисов инференса в виде строки 'N1-N2'. Обе границы включаются. |
--ray-port-range значение | 41000-41999 | Диапазон портов сервисов Ray (для распределённого развёртывания vLLM) в виде строки 'N1-N2'. Обе границы включаются. |
--log-dir значение | (пусто) | Каталог хранения журналов. |
--system-reserved значение | (пусто) | Ресурсы, резервируемые системой для воркера при планировании, в GiB. По умолчанию ресурсы не резервируются. Пример: '{"ram": 2, "vram": 1}'. |
--enable-hf-transfer | False | [Устарело] Поддержка hf_transfer удалена в huggingface_hub v1.0; этот флаг не действует. Теперь по умолчанию используется загрузчик hf_xet. |
--enable-hf-xet | False | [Устарело] Включить загрузку файлов моделей через Hugging Face Xet. |
--worker-ifname значение | (пусто) | Имя сетевого интерфейса узла-воркера. По умолчанию определяется автоматически. |
--kv-transfer-ifname значение | (пусто) | Сетевой интерфейс для передачи KV-кэша при разделённом развёртывании prefill/decode. Определяется автоматически, если на хосте ровно один маршрутизируемый интерфейс. При нескольких интерфейсах обязателен, поскольку неверный выбор заставляет движок объявлять адрес, недоступный другому участнику. |
--proxy-mode значение | (пусто) | Режим проксирования для доступа к экземплярам моделей: direct, worker или tunnel (воркер сам соединяется с сервером; для воркеров за межсетевым экраном/NAT). По умолчанию — direct для встроенного и worker для отдельного воркера. |
--benchmark-image-repo значение | gpustack/benchmark-runner | Переопределить репозиторий образа контейнера бенчмарков GPUStack по умолчанию. В отличие от --image-repo, значение используется как есть, поэтому включайте тег.Если образ gpustack/benchmark-runner:<tag> находится вне пространства имён gpustack, например awesome.com/amazing-group/amazing-subgroup/gpustack-ai/benchmark-runner:<tag>, сначала укажите реестр с родительским пространством имён через --system-default-container-registry=awesome.com/amazing-group/amazing-subgroup, затем задайте этому флагу (либо ключу конфигурации воркера benchmark_image_repo, либо переменной среды GPUSTACK_BENCHMARK_IMAGE_REPO) значение gpustack-ai/benchmark-runner:<tag>. |
--benchmark-dir значение | <data-dir>/benchmarks | Каталог хранения результатов бенчмарков. |
--benchmark-max-duration-seconds значение | (пусто) | Максимальная длительность бенчмарка до тайм-аута. Пустое значение отключает ограничение. |
Доступные переменные среды
Большинство параметров командной строки также можно задать переменными среды с префиксом GPUSTACK_, записанными в верхнем регистре (например, --data-dir можно задать через GPUSTACK_DATA_DIR).
Переменные среды, не соответствующие перечисленным выше параметрам командной строки, описаны в документации по переменным среды.
Файл конфигурации
При запуске сервера или воркера GPUStack параметры можно задать в YAML-файле конфигурации. Ниже приведён полный пример:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 | |