# LLM в Kubernetes с GPU: когда пора и сколько стоит

> Когда переносить LLM с одного GPU-сервера в Kubernetes, сколько стоят GPU-ноды в Managed Kubernetes и сколько экономит масштабирование до нуля ночью.

Источник: https://infragid.ru/llm-v-kubernetes/ · Обновлено: 2026-11-09 · Цены проверены: 2026-11-09 · Раздел: Нейросети и GPU

**Коротко.** LLM в Kubernetes нужна, когда одной видеокарты стало мало или она полдня простаивает. GPU-ноды в Managed Kubernetes Selectel оплачиваются по часам и умеют масштабироваться до нуля: нода с 2 × RTX 4090 стоит от 210,04 ₽/час. Выделенных серверов с RTX 4090 на 9 ноября нет в наличии, а по картам RTX PRO 6000, которые есть, наш расчёт такой: нода с двумя картами дешевле двух выделенных серверов даже круглосуточно (примерно на 15 %), а при работе 16 часов в сутки — в 1,7 раза.

**Наш выбор.** Если моделей или реплик больше одной, а нагрузка неровная, берём кластер Managed Kubernetes. GPU-ноды живут в отдельной группе с автомасштабированием от нуля, рядом работают две небольшие системные ноды на CPU, модели крутятся в vLLM. Ночью и в выходные GPU-нод нет совсем, и за них не платим.
- GPU-нода: 2 × RTX 4090 · 16 vCPU · 94 ГБ — от 210,04 ₽/час
- Обвязка: кластер 8 135,36 ₽/мес + две ноды 2 vCPU / 4 ГБ по 3,48 ₽/час
- Когда выгодно: нагрузка неровная: ночью и в выходные GPU не нужны, а в пик нужно две реплики и больше (наш расчёт ниже)
- Когда не подходит: одна модель на одной карте без пиков — хватит одного GPU-сервера без Kubernetes; никто в команде не работал с Kubernetes

## Что нужно понять за минуту

Большинство своих LLM начинается с одного сервера: видеокарта, [vLLM](/glossarij/vllm/) в Docker, HTTPS-прокси. Как это собрать, мы разобрали в статье [своя LLM на сервере](/svoya-llm-na-servere/). Такая схема проста и дешева, пока модель одна, а нагрузка ровная.

[Kubernetes](/glossarij/kubernetes/) с GPU-нодами решает три задачи, с которыми один сервер не справляется:

- **Пики.** Очередь запросов растёт, и одной карты не хватает. Кластер поднимает ещё одну GPU-ноду и вторую реплику модели, а после пика удаляет их.
- **Простой.** Ночью и в выходные карта никому не нужна, но за выделенный сервер вы платите весь месяц. В кластере группа GPU-нод уменьшается до нуля, и почасовая оплата останавливается.
- **Несколько моделей.** LLM, эмбеддинги, распознавание речи и реранкер живут на разных картах в одном кластере, и каждую модель обновляют отдельно.

Как это устроено у Selectel. GPU-ноды в Managed Kubernetes — это облачные серверы в фиксированных конфигурациях, до восьми карт на ноду. Карта отдаётся ноде целиком как PCI-устройство, vGPU нет. Драйверы NVIDIA можно получить предустановленными или поставить самим через GPU Operator. Масштабированием управляет Cluster Autoscaler (он уже стоит в кластере, его достаточно включить) или Karpenter: его ставят отдельно, и он сам подбирает самый дешёвый подходящий GPU-сервер. Ещё есть готовые манифесты «Inference-ready кластер»: Terraform-модули и Helm-чарты разворачивают GPU Operator, Karpenter, AIBrix, Gateway API и мониторинг. Управляющую часть кластера держит провайдер. Общая часть про Kubernetes без GPU — в разборе [Managed Kubernetes](/managed-kubernetes/).

## Сколько стоит

Цены провайдера на 9 ноября 2026, с НДС. GPU-ноды — карточки «от» со страницы продукта, за ноду в час. Управляющая часть, диски и IP оплачиваются отдельно.

| Что | Состав | Цена |
|---|---|---|
| => GPU-нода для небольших LLM (до 30 млрд параметров в 4–8 битах), эмбеддингов, Whisper | 2 × RTX 4090 · 16 vCPU · 94 ГБ | 210,04 ₽/час |
| GPU-нода для RAG с большой нагрузкой | 4 × RTX PRO 6000 96 ГБ · 96 vCPU · 720 ГБ | 1 168,26 ₽/час |
| GPU-нода для моделей 70B+ | 8 × RTX PRO 6000 96 ГБ · 240 vCPU · 1000 ГБ | 2 148,39 ₽/час |
| GPU-нода для дообучения и нескольких моделей | 2 × RTX PRO 6000 96 ГБ · 32 vCPU · 240 ГБ | 509,10 ₽/час |
| Кластер в калькуляторе по умолчанию | 1 мастер, балансировщик Basic HA для внешнего IP | 8 135,36 ₽/мес |
| Системная нода на CPU (нужны две) | 2 vCPU / 4 ГБ, без диска | 3,48 ₽/час |
| Для сравнения: выделенный сервер | RTX PRO 6000 96 ГБ · Ryzen 9 9950X · 192 ГБ, на 9 ноября осталось 2 шт. | 225 000 ₽/мес |
| Для сравнения: выделенный сервер | RTX 4090 24 ГБ, на 9 ноября нет в наличии | 56 900 ₽/мес |
| Для сравнения: облачный сервер без Kubernetes | 1 × RTX PRO 6000 96 ГБ · 16 vCPU · 120 ГБ | 290,15 ₽/час |

проверено 09.11.2026 · [источник](https://selectel.ru/services/cloud/kubernetes-gpu/)
{: .stamp}

Объём памяти карт RTX 4090 на карточке ноды не указан. По документации в Москве есть ноды и с 24 ГБ, и с 48 ГБ на карту. Сколько памяти нужно вашей модели, посчитайте в [калькуляторе видеопамяти](/instrumenty/podbor-gpu-pod-model/).

### Наш расчёт: когда кластер дешевле одного сервера

Без видеокарт кластер тоже стоит денег: управляющая часть с балансировщиком плюс две системные ноды. Без них группа GPU-нод не уменьшится до нуля. Формула: 8 135,36 + 2 × 730 ч × 3,48 ₽ ≈ 13 200 ₽ в месяц. Это нижняя граница: в ней базовый кластер с одним мастером и без SLA, а диски системных нод не учтены. Отказоустойчивый кластер с тремя мастерами дороже, его цену покажет калькулятор.

Сравнивать ноду с выделенными серверами честно только по тем картам, которые можно заказать. Выделенных серверов с RTX 4090 на 9 ноября нет в наличии, кнопка на их карточках — «Узнать о поступлении». С картой RTX PRO 6000 96 ГБ есть два сервера по 225 000 ₽, вместе 450 000 ₽ в месяц. Сравним их с одной GPU-нодой Kubernetes 2 × RTX PRO 6000:

| Сколько часов в месяц работает GPU-нода | Формула | Итого в месяц |
|---|---|---:|
| Круглосуточно, 730 ч | 730 × 509,10 + 13 200 | ≈ 384 800 ₽ |
| => 16 часов в сутки, 480 ч | 480 × 509,10 + 13 200 | ≈ 257 600 ₽ |
| Будни с 9 до 21, 264 ч | 264 × 509,10 + 13 200 | ≈ 147 600 ₽ |

Точки равенства здесь нет: (450 000 − 13 200) ÷ 509,10 ≈ 858 часов, а в месяце их 730. Даже круглосуточно нода дешевле примерно на 65 000 ₽, или на 15 %. Оговорки: у ноды цена «от», её диски и исходящий трафик сверх 3 ТБ в месяц оплачиваются отдельно, а в выделенный сервер уже входят 2 × 2 ТБ NVMe и безлимитный канал 1 Гбит/с. При оплате выделенного сервера сразу за 12 месяцев тарифный план на 15 % дешевле, и при круглосуточной нагрузке варианты сравниваются по цене.

С RTX 4090 картина другая. Если выделенные серверы снова появятся, два по 56 900 ₽ (113 800 ₽ в месяц) сравняются с нодой 2 × RTX 4090 при (113 800 − 13 200) ÷ 210,04 ≈ 479 часах в месяц, то есть около 16 часов в сутки. Вывод: точка равенства зависит от карты, поэтому считайте на той конфигурации, которую реально можете заказать.

Сколько экономит выключение на ночь, сильнее всего видно на больших нодах. Нода 4 × RTX PRO 6000, выключенная с 0 до 8 часов: 240 ч × 1 168,26 ≈ 280 400 ₽ в месяц. Если она работает только в будни с 9 до 21, простаивает 466 часов, и экономия ≈ 544 400 ₽. Для ноды 2 × RTX 4090 ночное выключение даёт 240 × 210,04 ≈ 50 400 ₽ в месяц. Свои цифры подставьте в калькулятор [облако или выделенный](/instrumenty/gpu-oblako-ili-vydelennyj/).

## Как выбрать

**Пора в Kubernetes**, если совпадают хотя бы два пункта:

- в часы пик очередь запросов к модели растёт, и одной карты не хватает;
- GPU нужны не круглые сутки: ночью, в выходные или между пакетными задачами нагрузки нет;
- моделей несколько (LLM, эмбеддинги, Whisper), и их выкладывают независимо;
- в команде есть человек, который сопровождает Kubernetes.

**Рано**, если модель одна, помещается на одну карту и нагрузка ровная круглые сутки. Тогда хватит одного сервера с GPU без Kubernetes, облачного или выделенного: какой дешевле, зависит от карты и наличия, сравните в калькуляторе [облако или выделенный](/instrumenty/gpu-oblako-ili-vydelennyj/). Если запросов немного, дешевле API с оплатой за токены — сравните варианты в калькуляторе [API или свой GPU](/instrumenty/llm-api-ili-svoj-gpu/).

**Как настроить ночное выключение.** Группа GPU-нод создаётся с предустановленными драйверами, автомасштабирование включается в панели с минимумом 0. Модель описывается обычным Deployment:

```yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: llm
spec:
  replicas: 1
  selector:
    matchLabels: {app: llm}
  template:
    metadata:
      labels: {app: llm}
    spec:
      nodeSelector:
        role: gpu                    # лейбл группы GPU-нод, задаётся в панели
      containers:
        - name: vllm
          image: vllm/vllm-openai:v0.33.0
          args: ["--model", "Qwen/Qwen3-8B", "--max-model-len", "16384"]
          ports:
            - containerPort: 8000
          resources:
            limits:
              nvidia.com/gpu: 1
          readinessProbe:
            httpGet: {path: /health, port: 8000}
            initialDelaySeconds: 120
          volumeMounts:
            - {name: shm, mountPath: /dev/shm}
      volumes:
        - name: shm
          emptyDir: {medium: Memory, sizeLimit: 8Gi}
```

Вечером реплики убираются, утром возвращаются. Это можно делать из CronJob или CI:

```bash
kubectl scale deployment/llm --replicas=0   # вечером: GPU-нода опустеет и удалится
kubectl scale deployment/llm --replicas=1   # утром, за 20–30 минут до начала дня
```

Когда на GPU-ноде не остаётся подов, Cluster Autoscaler по умолчанию удаляет её через 10 минут. Время ожидания задаётся для каждой группы нод отдельно:

```yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: cluster-autoscaler-nodegroup-options
  namespace: kube-system
data:
  config.yaml: |
    <UUID группы GPU-нод>:
      scaleDownUnneededTime: 10m
      ignoreDaemonSetsUtilization: true
```

Чтобы добавлять реплики в пик, мало масштабирования по CPU: нужна метрика инференса, например длина очереди vLLM. Её дают AIBrix из готовых манифестов Selectel или связка Prometheus с адаптером метрик. Как ставить и настраивать сам vLLM, мы описали в [установке vLLM](/vllm-ustanovka/).

## Что не подойдёт и ограничения

- **Холодный старт — минуты.** Облачная нода в Managed Kubernetes создаётся до 10 минут. Потом образ vLLM скачивается из реестра, а веса модели — из S3 или файлового хранилища. Первый утренний запрос после нуля столько ждать не будет, поэтому реплику поднимают заранее по расписанию.
- **Своих драйверов и автомасштабирования вместе не бывает.** Для групп GPU-нод без предустановленных драйверов автомасштабирование недоступно.
- **Сверьте версию драйвера с образом vLLM.** Свежие образы vLLM собраны на CUDA 13 и требуют драйвер R580 или новее; у карт GeForce, включая RTX 4090, режима совместимости со старыми драйверами нет. Какая версия предустановлена, документация не пишет — проверьте `nvidia-smi` на первой ноде.
- **До нуля — только с двумя системными нодами.** В других группах кластера должно оставаться минимум две рабочие ноды, иначе GPU-группа не опустеет.
- **Короткие паузы не экономят.** Облако списывает деньги почасово, удалённый ресурс перестаёт тарифицироваться со следующего часа. Выключать ноду на 20 минут бессмысленно.
- **Карты привязаны к пулам.** RTX 4090 на 48 ГБ для Managed Kubernetes есть только в сегменте ru-6a, H100 — только в ru-7b. В NodePool Karpenter лучше перечислить несколько подходящих карт, а в проекте заранее проверить квоты на GPU под максимум нод.
- **Делить карту между моделями — уточняйте.** На странице продукта сказано, что несколько небольших моделей делят одну карту. Как именно (MIG или разделение по времени), в документации не описано.
- **Лимиты.** До 15 нод в одной группе. На выделенных серверах с GPU автомасштабирования нет совсем.
- **Прерываемые GPU-ноды — не для онлайна.** Они дешевле, но живут не больше 24 часов, Selectel может остановить их в любой момент, SLA на них не действует. Годятся для пакетной обработки, не для чата с пользователями.
- **Kubernetes — это работа.** Провайдер отвечает за мастер-ноды, а рабочие ноды, манифесты, обновления моделей и мониторинг остаются на вас.

## Как мы сделали

!!! how "Почему мы сверяем правило 16 часов с наличием"
    GPU-кластера в Kubernetes у нас нет, и опыт мы не придумываем. Наши небольшие модели работают без видеокарт: эмбеддинги bge-m3 крутятся на CPU домашнего сервера, а распознавание речи вынесено на дешёвые телефоны. Крупные LLM мы запускаем только в облаке. Наше рабочее правило — почасовое облако выгодно, пока нагрузка меньше 16–18 часов в сутки, дальше дешевле выделенный сервер. Для пары RTX 4090 расчёт выше дал ту же границу, но таких выделенных серверов сейчас нет, а с RTX PRO 6000 облачная нода дешевле даже круглосуточно. Поэтому правило проверяем на том, что можно заказать сегодня.


## Частые вопросы

**Можно ли масштабировать GPU-ноды в Kubernetes до нуля?**

Да. В Managed Kubernetes Selectel группу нод можно настроить на автомасштабирование до нуля: пока нагрузки нет, нод в группе нет, и за них не платят. Есть два условия: в других группах кластера должны оставаться минимум две рабочие ноды для системных компонентов, а на GPU-нодах должны стоять предустановленные драйверы. С драйверами, которые вы поставили сами, автомасштабирование недоступно.

**Сколько стоит LLM в Kubernetes с GPU?**

Складывается из трёх частей. GPU-ноды оплачиваются по часам: нода с 2 × RTX 4090 стоит от 210,04 ₽/час, с 4 × RTX PRO 6000 — от 1 168,26 ₽/час. Кластер в калькуляторе по умолчанию стоит 8 135,36 ₽/мес. Ещё нужны две системные ноды на CPU. По нашему расчёту обвязка без видеокарт обходится примерно в 13 200 ₽ в месяц.

**Что такое vLLM router и нужен ли он?**

Это прокси перед несколькими репликами vLLM: он раздаёт запросы так, чтобы похожие попадали на реплику, у которой уже есть нужный кэш. Его ставят вместе с vLLM Production Stack или берут маршрутизацию из AIBrix, который входит в готовые манифесты Selectel. Пока реплика одна, router не нужен, хватит обычного Service.

**vLLM semantic router — это то же самое?**

Нет. Semantic router смотрит на смысл запроса и выбирает модель: простые вопросы отправляет в маленькую и дешёвую, сложные — в большую. Смысл он имеет, когда моделей в кластере хотя бы две. Обычный vLLM router распределяет запросы между копиями одной модели.

**Нужен ли Ray, чтобы запустить vLLM в Kubernetes?**

Только если модель не помещается в видеокарты одной ноды и её надо разложить на несколько машин. Несколько карт внутри одной ноды vLLM использует и без Ray, через параметр tensor-parallel-size. У Selectel GPU-нода в фиксированной конфигурации вмещает до восьми карт, поэтому для инференса Ray обычно не нужен.


## Источники

- Managed Kubernetes с GPU (Inference-ready кластер) — selectel.ru — https://selectel.ru/services/cloud/kubernetes-gpu/ (проверено 2026-11-09)
- Калькулятор Kubernetes — selectel.ru — https://selectel.ru/prices/calculator/kubernetes/ (проверено 2026-11-09)
- Облачные серверы: почасовые цены конфигураций — selectel.ru — https://selectel.ru/services/cloud/business/ (проверено 2026-11-09)
- Выделенные серверы с GPU — цены и наличие — selectel.ru — https://selectel.ru/services/dedicated/gpu/ (проверено 2026-11-09)
- Серверы с GPU — карточки под задачу — selectel.ru — https://selectel.ru/services/gpu/ (проверено 2026-11-09)
- Создать кластер Managed Kubernetes на облачном сервере с GPU — документация Selectel — https://docs.selectel.ru/managed-kubernetes/create/create-cloud-gpu-cluster/ (проверено 2026-11-09)
- Драйверы GPU в Managed Kubernetes — документация Selectel — https://docs.selectel.ru/managed-kubernetes/node-groups/gpu-drivers/ (проверено 2026-11-09)
- Автомасштабирование групп нод: Cluster Autoscaler и Karpenter — документация Selectel — https://docs.selectel.ru/managed-kubernetes/node-groups/autoscaling/ (проверено 2026-11-09)
- Доступность Managed Kubernetes и GPU в локациях — документация Selectel — https://docs.selectel.ru/managed-kubernetes/about/kubernetes-availability-by-location/ (проверено 2026-11-09)
- Конфигурации нод Managed Kubernetes — документация Selectel — https://docs.selectel.ru/managed-kubernetes/node-groups/configurations/ (проверено 2026-11-09)
- Managed Kubernetes: типы кластеров, лимиты, зоны ответственности — документация Selectel — https://docs.selectel.ru/managed-kubernetes/about/about-managed-kubernetes/ (проверено 2026-11-09)
- Managed Kubernetes: модель оплаты — документация Selectel — https://docs.selectel.ru/managed-kubernetes/about/payment/ (проверено 2026-11-09)
- Прерываемые группы нод — документация Selectel — https://docs.selectel.ru/managed-kubernetes/node-groups/preemptible-node-groups/ (проверено 2026-11-09)
