LWS#
LWS (LeaderWorkerSet) - инструмент, предоставляющий API/CRD LeaderWorkerSet для развертывания группы pod, как единой репликационной единицы.
Основное назначение - типовые сценарии AI/ML-инференса, особенно multi-host/multi-node (многоузловой) инференс, где LLM шардируется и запускается на нескольких устройствах или узлах, при этом позволяя управлять всей группой как единым целым (создание, масштабирование, обновление, остановка).
Основные задачи и возможности
LWS обеспечивает согласованное управление набором pod «лидер + рабочий» как единой репликой при их создании, обновлении и масштабировании.
Ключевой сценарий использования - multi-node инференс и шардирование LLM по нескольким GPU/узлам, где LWS используется как базовый примитив для таких развертываний.
LWS интегрируется/используется в смежных AI-проектах (например, для оркестрации распределенных AI-нагрузок).
Примечание
LWS устанавливается по умолчанию с компонентом AI-inference.
Конфигурация values#
Параметры LWS можно переопределить через редактирование нужных значений в spec.values. Общее описание конфигурации values для инструментов приведено в разделе «Конфигурации инструментов дополнительных компонентов».
-
nameOverride — переопределение базового имени ресурсов чарта
fullnameOverride — полное переопределение имени для всех ресурсов
enablePrometheus — включение интеграции с Prometheus для сбора метрик
enableCertManager — включение автоматического управления TLS-сертификатами
imagePullSecrets — секреты для доступа к приватным реестрам образов
podAnnotations — дополнительные аннотации для pod контроллера
securityContext — контекст безопасности на уровне контейнера
nodeSelector — селектор узлов для размещения pod контроллера
affinity — правила аффинити и анти-аффинити для планирования pod
gangSchedulingManagement — конфигурация gang-планирования для координации групп pod
nameOverride — переопределение базового имени ресурсов чарта#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Переопределение имени чарта для генерации имен ресурсов. Пустое значение использует имя чарта по умолчанию |
|
fullnameOverride — полное переопределение имени для всех ресурсов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Полное переопределение имени для всех создаваемых ресурсов, игнорируя имя релиза и чарта |
|
enablePrometheus — включение интеграции с Prometheus для сбора метрик#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Активация экспорта метрик контроллера LWS для сбора Prometheus через |
|
enableCertManager — включение автоматического управления TLS-сертификатами#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Использование Cert Manager для автоматической выдачи и ротации TLS-сертификатов для webhook LWS |
|
replicaCount — количество реплик контроллера LWS#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Число реплик pod контроллера. Рекомендуется |
|
imagePullSecrets — секреты для доступа к приватным реестрам образов#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список имен секретов для аутентификации в приватных |
|
image — конфигурация образов для компонентов контроллера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Полный путь к репозиторию образа менеджера LWS с поддержкой Helm-шаблонов для гибкой настройки |
|
|
Тег образа менеджера. При отсутствии используется версия из |
|
|
Политика загрузки образа: |
|
podAnnotations — дополнительные аннотации для pod контроллера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Пользовательские аннотации для pod контроллера, полезные для интеграции с системами мониторинга или сервисными сетями |
|
podSecurityContext — контекст безопасности на уровне pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Требование запуска контейнеров от не |
|
|
GID-группы для монтируемых томов, обеспечивающий доступ к файлам внутри pod (закомментировано по умолчанию) |
|
securityContext — контекст безопасности на уровне контейнера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Запрет повышения привилегий процессом внутри контейнера, критично для соответствия |
|
|
Монтирование корневой ФС контейнера в режим только для чтения для предотвращения несанкционированных изменений |
|
|
Список Linux |
|
service — настройки Kubernetes Service для контроллера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Тип сервиса: |
|
|
Порт сервиса для вебхука или endpoint-метрик контроллера LWS |
|
resources — запросы и лимиты ресурсов CPU/памяти#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Гарантированное выделение CPU для запуска pod контроллера, влияет на планирование |
|
|
Гарантированный объем памяти для стабильной работы контроллера без |
|
nodeSelector — селектор узлов для размещения pod контроллера#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Метка-селектор для привязки pod контроллера к узлам с определенными характеристиками |
|
tolerations — допуски для размещения на узлах с taint#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Список tolerations для размещения контроллера на узлах с taint, например мастер-узлах |
|
affinity — правила аффинити и анти-аффинити для планирования pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Правила node/pod affinity для оптимизации размещения: группировка или распределение реплик контроллера |
|
gangSchedulingManagement — конфигурация gang-планирования для координации групп pod#
Параметр |
Описание |
Значение по умолчанию |
|---|---|---|
|
Настройки интеграции с внешними планировщиками (Volcano, YuniKorn) для атомарного запуска групп pod LWS. Пустое значение отключает |
|