Активация и использование технологии NVidia MIG (Multi-Instance GPU)
Платформа Боцман позволяет разделить физическую видеокарту NVIDIA на несколько изолированных частей по технологии MIG (Multi-Instance GPU) и выдать эти части под размещение нагрузок.
Область действия
Технология MIG применяется только к видеокартам NVIDIA с поддержкой MIG.
Как это работает
Ресурсы видеокарт (вычислительное ядро и видеопамять) разделяются на логические части. MIG объединяет несколько частей в готовый профиль, который можно назначить определенной нагрузке.
Профиль обозначается как <количество логических частей вычислительного ядра>g.<объём видеопамяти>gb, например 3g.20gb:
3g— три логические части вычислительного ядра;20gb— 20 ГБ видеопамяти.
Каждый профиль изолирован от остальных, поэтому приложения, работающие с разными профилями, не влияют друг на друга.
На видеокарте NVidia A100 с объемом видеопамяти 40 ГБ профиль 3g.20gb размещается дважды: 20 ГБ + 20 ГБ = 40 ГБ и 3 + 3 = 6 из 7 логических частей вычислительного ядра. Оставшийся срез остаётся неиспользованным, и видеокарта не делится на большее число таких профилей.
Пример
На узле с двумя видеокартами A100 40 ГБ доступны четыре профиля 3g.20gb — по два на каждую видеокарту. Нагрузка, которой нужны полторы видеокарты, запрашивает три профиля и получает девять частей вычислительного ядра и 60 ГБ видеопамяти суммарно.
Состояния режима MIG
Режим MIG управляется двумя лейблами узла:
| Лейбл | Значение | Назначение |
|---|---|---|
nvidia.com/mig.config |
имя профиля (например, all-3g.20gb). all-disabled по умолчанию (технология MIG выключена) |
Запрошенный профиль для всех видеокарт узла |
nvidia.com/mig.config.state |
pending, success, failed |
Состояние применения профиля менеджером MIG |
Внимание
По-умолчанию, режим MIG отключён (all-disabled). В этом состоянии видеокарты выдаются нагрузке только целиком: один под получает одну или две видеокарты.
Профили в картах конфигурации
При установке аддона gpu-operator создаётся карта конфигурации (configmap) со списком доступных MIG-профилей для разных моделей видеокарт.
Предпосылки
- Пул узлов с ролью
bootsman-gpuсоздан, на узлах установлен и работает аддонgpu-operator(устанавливается автоматически). - Видеокарта поддерживает технологию MIG. Поддержку MIG для конкретной модели проверьте в документации NVIDIA.
- Полный список поддерживаемых платформой видеокарт приведён в матрице совместимости.
Внимание!
Для включения и редактирования режима MIG необходимо удалить или приостановить полезную нагрузку, которая использует ресурсы видеокарт.
Планируйте окно обслуживания для внесения изменений.
Включение режима MIG
Через Web-интерфейс
1. Выберите профиль. Откройте Хранилище → ConfigMaps и в строке фильтра укажите mig. Откройте карту конфигурации со списком профилей и выберите подходящий для вашей видеокарты профиль.
2. Перейдите к узлам. Откройте Кластер → Ноды (Nodes), выберите узел с видеокартами и Нажмите Редактировать конфигурацию (Edit config) и перейдите к блоку Лейблы и Примечания.
3. Перейдите к блоку Лейблы и Примечания и найдите лейбл nvidia.com/mig.config и замените значение all-disabled (по умолчанию) на имя выбранного профиля, например all-3g.20gb. Сохраните изменения.
4. Дождитесь применения профиля. В окне детализации узла значение лейбла nvidia.com/mig.config.state меняется с pending на success.
Заметка
Применение профиля занимает от нескольких десятков секунд до нескольких минут.
На время применения значение лейбла nvidia.com/mig.config.state остаётся pending.
Через манифест узла
Лейблы измените командой:
Проверьте применение профиля:
kubectl get node <NODE_NAME> \
-o jsonpath='{.metadata.labels.nvidia\.com/mig\.config}{"\n"}{.metadata.labels.nvidia\.com/mig\.config\.state}{"\n"}'
Ожидаемый результат: первая строка — all-3g.20gb, вторая — success.
Проверка ресурсов узла
Убедитесь, что узлу доступны MIG-профили как отдельные ресурсы планировщика:
Ожидаемый результат: в allocatable и capacity узла присутствует ресурс nvidia.com/mig-3g.20gb; для узла с двумя видеокартами A100 40 ГБ его значение — 4.
Если в узле нет ресурсов nvidia.com/mig-*, профиль не применён. Проверьте значение nvidia.com/mig.config и состояние nvidia.com/mig.config.state.
Выдача частей видеокарты нагрузке
Нагрузка запрашивает MIG-профили как ресурсы Kubernetes. Один запрошенный ресурс nvidia.com/mig-3g.20gb — это одна часть видеокарты.
В манифесте нагрузки укажите ресурс в блоках requests и limits контейнера:
spec:
containers:
- name: ollama
image: <IMAGE>
resources:
requests:
nvidia.com/mig-3g.20gb: 3
limits:
nvidia.com/mig-3g.20gb: 3
Значение 3 означает три профиля 3g.20gb: девять логических частей вычислительного ядра и 60 ГБ видеопамяти. Такой запрос размещает нагрузку на двух видеокартах узла — профили распределяются между видеокартами.
Проверка результата
1. Убедитесь, что под с нагрузкой запущен:
Ожидаемый результат: под находится в статусе Running.
2. Проверьте блок resources в конфигурации пода — он содержит запрошенный ресурс nvidia.com/mig-3g.20gb:
Ожидаемый результат: в requests и limits указано nvidia.com/mig-3g.20gb: 3.
3. Проверьте видимость частей видеокарты из контейнера:
Ожидаемый результат: в блоке MIG devices отображаются три устройства 3g.20gb — именно те части, которые выданы нагрузке; остальная ёмкость видеокарт узла приложению не видна.
Замечания
- После выключения режима MIG (
all-disabled) MIG-ресурсы исчезают из узла, а поды, запрашивающиеnvidia.com/mig-*, остаются в состоянииPending. Перед отключением перенесите такие нагрузки на другие узлы. - Изменение профиля MIG на узле, где уже работают MIG-нагрузки, прерывает их выполнение.
Диагностика
| Симптом | Причина | Действия |
|---|---|---|
nvidia.com/mig.config.state долго остаётся pending |
Менеджер MIG не перезапускается или профиль не поддерживается адаптером | Проверьте под nvidia-mig-manager в пространстве имён gpu-operator и его лог; сверьте имя профиля с картой конфигурации; проверьте поддержку данного профиля вашей видеокартой |
Состояние failed |
Профиль не поддерживается моделью видеокарты или есть процессы, использующие видеокарту | Выберите профиль из карты конфигурации для своей модели, выведите нагрузки с видеокарты |
В узле нет ресурса nvidia.com/mig-* |
Режим MIG не включён или профиль ещё применяется | Проверьте значение nvidia.com/mig.config и дождитесь состояния success |
Под с запросом nvidia.com/mig-* в состоянии Pending |
На узлах нет свободных профилей запрошенного типа | Уменьшите число профилей в запросе, добавьте узлы с GPU или измените профиль |
nvidia-smi в контейнере не показывает MIG devices |
Нагрузка запросила nvidia.com/gpu вместо nvidia.com/mig-* |
Проверьте конфигурацию resources нагрузки; проверьте значение лейбла nvidia.com/mig.config.state - должно быть в состоянии success |









