v1alpha1
Данный раздел содержит справочную информацию по API приложений в Nova Container Platform.
1. MLInfrastructure
MLInfrastructure - это инфраструктурный слой решения Nova AI, который отвечает за подготовку и управление аппаратными ресурсами кластера Kubernetes.
1.1. Спецификация
| Параметр | Тип | Обязательно | Описание | ||
|---|---|---|---|---|---|
|
String |
Да |
Значение по умолчанию |
||
|
String |
Да |
Значение по умолчанию |
||
|
Object |
Да |
Дополнительную информацию по параметру |
||
|
String |
Да |
Название MLInfrastructure.
|
||
Object |
Да |
Спецификация |
1.2. spec
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
Object |
Да |
Объект отвечающий за конфигурацию Nvidia GPU Operator |
1.2.1. spec.nvidiaGpuOperator
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
|
Object |
Да |
Конфигурация multi instance GPU. Подробнее можно ознакомиться в статье Multi-Instance GPU |
|
bool |
Да |
Включение функционала multi instance GPU |
|
String (enum) |
Заполнение обязательно, если |
Стратегия:
|
|
String |
Заполнение обязательно, если |
ConfigMap конфигурации MIG-профилей |
|
Object |
Да |
Конфигурация функционала для виртуального разделения одной физической GPU между несколькими подами на уровне рабочего узла Nvidia GPU Operator. Подробнее можно ознакомиться в статье Time-Slicing GPUs in Kubernetes. |
|
bool |
Да |
Включение функционала Time-Slicing GPUs |
|
String |
Заполнение обязательно, если |
ConfigMap конфигурации Time-Slicing профилей |
2. MLCluster
MLCluster - это сервисный слой решения Nova AI. Он включает набор ML’Ops-сервисов, которые реализуют весь жизненный цикл работы с моделями машинного обучения: от сбора и подготовки данных до развертывания и предоставления моделей через API.
|
Если все |
|
Если все |
2.1. Спецификация
| Параметр | Тип | Обязательно | Описание | ||
|---|---|---|---|---|---|
|
String |
Да |
Значение по умолчанию |
||
|
String |
Да |
Значение по умолчанию |
||
|
Object |
Да |
Дополнительную информацию по параметру |
||
|
String |
Да |
Название MLCluster.
|
||
Object |
Да |
Спецификация |
2.2. spec
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
|
String |
Да |
Базовый DNS-домен для настройки и публикации служебных веб-сервисов через Ingress-контроллер |
|
Object |
Нет |
Выбор узлов для запуска всех компонентов по лейблам (labels). В данный объект передается набор key:value |
Array of object |
Нет |
Список разрешений для запуска компонентов на узлах с taint |
|
|
String |
Данное значение переопределяется на уровне конфигурации компонента spec.<component>.storageClass |
Переопределение storageClass для всех компонентов |
Object |
Нет |
Объект отвечающий за конфигурацию JupyterHub |
|
Object |
Нет |
Объект отвечающий за конфигурацию airFlow |
|
Object |
Нет |
Объект отвечающий за конфигурацию mlFlow |
|
Object |
Нет |
Объект отвечающий за конфигурацию kubeRay |
|
Object |
Нет |
Объект отвечающий за конфигурацию postgreSQL |
|
Object |
Нет |
Объект отвечающий за конфигурацию minIO |
|
Object |
Нет |
Объект отвечающий за конфигурацию kserve |
2.2.1. spec.tolerations
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
|
String |
Нет |
Ключ taint узла |
|
String (enum)
|
Да |
Механизм сравнения key и value с taint узла |
|
String |
Нет |
Значение taint узла |
|
String (enum)
|
Нет |
Эффект taint узла |
2.2.2. spec.jupyterHub
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
|
bool |
Да |
Необходимость установки компонента |
|
Object |
Нет |
Выбор узлов для запуска всех компонентов по лейблам (labels). В данный объект передается набор key:value |
|
Array of object |
Нет |
Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны |
|
String |
Нет, если задан на уровне |
Переопределение storageClass |
|
Object |
Нет |
Профиль конфигурации времени жизни Pod |
|
bool |
Нет |
Признак включения функционала |
|
bool |
Нет |
Разрешать сбрасывать сессию пользователя |
|
bool |
Нет |
Разрешать сбрасывать сессию администратора |
|
int |
Нет |
Время жизни сервера (ttl) при отсутствии активности на нем (значение в секундах) |
|
int |
Нет |
Частота проверки неактивных серверов (значение в секундах) |
|
int |
Нет |
Лимит одновременных запросов к hub, предотвращает перегрузку |
|
int |
Нет |
Максимальный возраст сервера, даже если он активен - сервер будет удален при превышении значение (значение в секундах) |
|
Array of object |
Нет |
Профиль конфигурации ноутбука |
|
bool |
Нет |
Признак предвыбранного профиля в UI |
|
String |
Да |
Наименование профиля ноутбука |
|
String |
Да |
Описание профиля ноутбука |
|
String |
Да |
Размер диска для профиля ноутбука |
|
string |
Нет, если не задан acceleratorCount |
Тип графического ускорителя |
|
int |
Нет, если не задан acceleratorType |
Количество графических ускорителей |
|
map(string:string) |
Нет |
Выбор узлов для запуска профиля с учетом jupyterHub.nodeSelector |
|
array of object |
Нет |
Список разрешений для запуска профиля на узлах с taint с учетом |
|
string |
Нет |
Ключ taint’а узла |
|
string (enum)
|
Да |
Механизм сравнение key и value с taint’ом узла |
|
string |
Нет |
Значение taint’а узла |
|
string (enum)
|
Нет |
Эффект taint’а узла |
|
Object |
Нет, при условии что |
Интеграция с БД вне кластера |
|
bool |
Да |
Включение функционала |
|
String |
Нет |
Имя хоста |
|
String |
Нет |
Порт |
|
String |
Нет |
Имя БД в PostgreSQL, где будут храниться метаданные MLFlow |
|
String |
Нет |
Путь к секрету в StarVault с pg_user |
|
String |
Нет |
Путь к секрету в StarVault с pg_password |
2.2.3. spec.airFlow
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
|
bool |
Да |
Необходимость установки компонента |
|
Object |
Нет |
Выбор узлов для запуска компонента. В данный объект передается набор key:value |
|
Array of object |
Нет |
Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны |
|
String |
Нет, если задан на уровне Указывать не нужно в случае, если указан |
Переопределение storageClass. |
|
String |
Нет |
Размер PV для хранения логов |
|
Object |
Нет |
Интеграция с Git вне кластера |
|
bool |
Да По умолчанию |
Включение механизма интеграции с внешним git |
|
String |
Да, если |
Адрес репозитория в формате https://<адрес> |
|
String |
Да, если |
Путь к секрету с new_username |
|
String |
Да, если |
Путь к секрету с new_password |
|
String |
Да, если |
Наименование ветки |
|
Object |
Нет |
Интеграция с БД вне кластера |
|
bool |
Да По умолчанию |
Включение функционала |
|
String |
Да, если |
Имя хоста |
|
String |
Да, если |
Порт |
|
String |
Да, если |
Имя БД в PostgreSQL, где будут храниться метаданные AirFlow |
|
String |
Да, если |
Путь к секрету в StarVault с pg_user |
|
String |
Да, если |
Путь к секрету в StarVault с pg_password |
2.2.4. spec.mlFlow
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
|
bool |
Да |
Необходимость установки компонента |
|
Object |
Нет |
Выбор узлов для запуска компонента. В данный объект передается набор key:value |
|
Array of object |
Нет |
Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны |
|
Object |
Нет, при условии что |
Интеграция с БД вне кластера |
|
bool |
Да |
Включение функционала |
|
String |
Нет |
Имя хоста |
|
String |
Нет |
Порт |
|
String |
Нет |
Имя БД в PostgreSQL, где будут храниться метаданные mlFlow |
|
String |
Нет |
Имя БД в PostgreSQL, где хранятся УЗ пользователей |
|
String |
Нет |
Путь к секрету в StarVault с pg_user |
|
String |
Нет |
Путь к секрету в StarVault с pg_password |
|
Object |
Нет |
Интеграция с S3 хранилищем вне кластера |
|
bool |
Да По умолчанию |
Включение функционала |
|
String |
Да, если |
Имя хоста |
|
String |
Да, если |
Порт |
|
String |
Да, если |
Имя бакета |
|
String |
Да, если |
Локация бакета |
|
String |
Да, если |
Путь к секрету с s3_user |
|
String |
Да, если |
Путь к секрету с s3_password |
2.2.5. spec.kubeRay
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
|
bool |
Да |
Необходимость установки компонента |
|
Object |
Нет |
Выбор узлов для запуска компонента. В данный объект передается набор key:value |
|
Array of object |
Нет |
Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны |
2.2.6. spec.postgreSQL
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
|
bool |
Да |
Необходимость установки компонента |
|
Object |
Нет |
Выбор узлов для запуска компонента. В данный объект передается набор key:value |
|
Array of object |
Нет |
Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны |
|
String |
Нет, если задан на уровне |
Переопределение storageClass |
|
Int |
Да |
Отказоуйстойчивая конфигурация |
|
bool |
Да |
Включение функционала |
|
String |
Нет |
Размер PV, Гб |
2.2.7. spec.minIO
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
|
bool |
Да |
Необходимость установки компонента |
|
Object |
Нет |
Выбор узлов для запуска компонента. В данный объект передается набор key:value |
|
Array of object |
Нет |
Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны |
|
String |
Нет, если задан на уровне |
Переопределение storageClass |
|
Int |
Нет |
Количество нод MinIO |
|
String |
Нет |
Размер диска, Гб |
|
Int |
Нет |
Количество дисков |
2.2.8. spec.kserve
| Параметр | Тип | Обязательно | Описание |
|---|---|---|---|
|
bool |
Да |
Необходимость установки компонента |
|
Object |
Нет |
Выбор узлов для запуска компонента. В данный объект передается набор key:value |
|
Array of object |
Нет |
Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны |
|
Object |
Нет, при условии что |
Интеграция с S3 хранилищем вне кластера |
|
bool |
Да |
Включение функционала |
|
String |
Нет |
Имя хоста |
|
String |
Нет |
Порт |
|
String |
Нет |
Имя бакета |
|
String |
Нет |
Локация бакета |
|
String |
Нет |
Путь к секрету с s3_user |
|
String |
Нет |
Путь к секрету с s3_password |