Для улучшения работы сайта мы используем файлы cookies. Оставаясь на сайте, вы соглашаетесь с политикой обработки персональных данных.

v1alpha1

Данный раздел содержит справочную информацию по API приложений в Nova Container Platform.

1. MLInfrastructure

MLInfrastructure - это инфраструктурный слой решения Nova AI, который отвечает за подготовку и управление аппаратными ресурсами кластера Kubernetes.

1.1. Спецификация

Параметр Тип Обязательно Описание

apiVersion

String

Да

Значение по умолчанию apps.nova-platform.io/v1alpha1

kind

String

Да

Значение по умолчанию MLInfrastructure

metadata

Object

Да

Дополнительную информацию по параметру metadata в Kubernetes API можно найти в официальной документации.

metadata.name

String

Да

Название MLInfrastructure.

Возможно создать только один ресурс MLInfrastructure!

spec

Object

Да

Спецификация

1.2. spec

Параметр Тип Обязательно Описание

nvidiaGpuOperator

Object

Да

Объект отвечающий за конфигурацию Nvidia GPU Operator

1.2.1. spec.nvidiaGpuOperator

Параметр Тип Обязательно Описание

mig

Object

Да

Конфигурация multi instance GPU. Подробнее можно ознакомиться в статье Multi-Instance GPU

mig.enabled

bool

Да

Включение функционала multi instance GPU

mig.strategy

String (enum)

Заполнение обязательно, если mig.enabled = true

Стратегия:

  • single (все GPU будут настроены одинаково, один и тот же MIG-профиль на всех устройствах)

  • mixed (разные GPU могут иметь разные MIG профили)

mig.configRef

String

Заполнение обязательно, если mig.enabled = true

ConfigMap конфигурации MIG-профилей

timeSlicing

Object

Да

Конфигурация функционала для виртуального разделения одной физической GPU между несколькими подами на уровне рабочего узла Nvidia GPU Operator. Подробнее можно ознакомиться в статье Time-Slicing GPUs in Kubernetes.

timeSlicing.enabled

bool

Да

Включение функционала Time-Slicing GPUs

timeSlicing.configRef

String

Заполнение обязательно, если timeSlicing.enabled = true

ConfigMap конфигурации Time-Slicing профилей

2. MLCluster

MLCluster - это сервисный слой решения Nova AI. Он включает набор ML’Ops-сервисов, которые реализуют весь жизненный цикл работы с моделями машинного обучения: от сбора и подготовки данных до развертывания и предоставления моделей через API.

Если все spec.<component> не будет передан, то его установка не будет произведена. По умолчанию spec.<component>.enabled = false.

Если все spec.<component>.enabled = false установить ресурс нельзя!

2.1. Спецификация

Параметр Тип Обязательно Описание

apiVersion

String

Да

Значение по умолчанию apps.nova-platform.io/v1alpha1

kind

String

Да

Значение по умолчанию MLCluster

metadata

Object

Да

Дополнительную информацию по параметру metadata в Kubernetes API можно найти в официальной документации.

metadata.name

String

Да

Название MLCluster.

Возможно создать только один ресурс MLCluster!

spec

Object

Да

Спецификация

2.2. spec

Параметр Тип Обязательно Описание

mlBaseDomain

String

Да

Базовый DNS-домен для настройки и публикации служебных веб-сервисов через Ingress-контроллер

nodeSelector

Object

Нет

Выбор узлов для запуска всех компонентов по лейблам (labels). В данный объект передается набор key:value

tolerations

Array of object

Нет

Список разрешений для запуска компонентов на узлах с taint

storageClass

String

Данное значение переопределяется на уровне конфигурации компонента spec.<component>.storageClass

Переопределение storageClass для всех компонентов

jupyterHub

Object

Нет

Объект отвечающий за конфигурацию JupyterHub

airFlow

Object

Нет

Объект отвечающий за конфигурацию airFlow

mlFlow

Object

Нет

Объект отвечающий за конфигурацию mlFlow

kubeRay

Object

Нет

Объект отвечающий за конфигурацию kubeRay

postgreSQL

Object

Нет

Объект отвечающий за конфигурацию postgreSQL

minIO

Object

Нет

Объект отвечающий за конфигурацию minIO

kserve

Object

Нет

Объект отвечающий за конфигурацию kserve

2.2.1. spec.tolerations

Параметр Тип Обязательно Описание

key

String

Нет

Ключ taint узла

operator

String (enum)

  • Equal

  • Exists

Да

Механизм сравнения key и value с taint узла

value

String

Нет

Значение taint узла

effect

String (enum)

  • NoSchedule

  • NoExecute

  • PreferNoSchedule

Нет

Эффект taint узла

2.2.2. spec.jupyterHub

Параметр Тип Обязательно Описание

enabled

bool

Да

Необходимость установки компонента

nodeSelector

Object

Нет

Выбор узлов для запуска всех компонентов по лейблам (labels). В данный объект передается набор key:value

tolerations

Array of object

Нет

Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны spec.tolerations

storageClass

String

Нет, если задан на уровне spec.storageClass

Переопределение storageClass

ttlConfig

Object

Нет

Профиль конфигурации времени жизни Pod

ttlConfig.enabled

bool

Нет

Признак включения функционала

ttlConfig.users

bool

Нет

Разрешать сбрасывать сессию пользователя

ttlConfig.adminUsers

bool

Нет

Разрешать сбрасывать сессию администратора

ttlConfig.timeout

int

Нет

Время жизни сервера (ttl) при отсутствии активности на нем (значение в секундах)

ttlConfig.every

int

Нет

Частота проверки неактивных серверов (значение в секундах)

ttlConfig.concurrency

int

Нет

Лимит одновременных запросов к hub, предотвращает перегрузку

ttlConfig.maxAge

int

Нет

Максимальный возраст сервера, даже если он активен - сервер будет удален при превышении значение (значение в секундах)

notebookProfileList

Array of object

Нет

Профиль конфигурации ноутбука

notebookProfileList.default

bool

Нет

Признак предвыбранного профиля в UI

notebookProfileList.displayName

String

Да

Наименование профиля ноутбука

notebookProfileList.description

String

Да

Описание профиля ноутбука

notebookProfileList.storageSize

String

Да

Размер диска для профиля ноутбука

notebookProfileList.acceleratorType

string

Нет, если не задан acceleratorCount

Тип графического ускорителя

notebookProfileList.acceleratorCount

int

Нет, если не задан acceleratorType

Количество графических ускорителей

notebookProfileList.extraNodeSelector

map(string:string)

Нет

Выбор узлов для запуска профиля с учетом jupyterHub.nodeSelector

notebookProfileList.extraTolerations

array of object

Нет

Список разрешений для запуска профиля на узлах с taint с учетом jupyterHub.tolerations

notebookProfileList.extraTolerations.key

string

Нет

Ключ taint’а узла

notebookProfileList.extraTolerations.operator

string (enum)

  • Equal

  • Exists

Да

Механизм сравнение key и value с taint’ом узла

extraTolerations.value

string

Нет

Значение taint’а узла

extraTolerations.effect

string (enum)

  • NoSchedule

  • NoExecute

  • PreferNoSchedule

Нет

Эффект taint’а узла

externalDatabase

Object

Нет, при условии что externalDatabase.enabled = false

Интеграция с БД вне кластера

externalDatabase.enabled

bool

Да

Включение функционала

externalDatabase.host

String

Нет

Имя хоста

externalDatabase.port

String

Нет

Порт

externalDatabase.database

String

Нет

Имя БД в PostgreSQL, где будут храниться метаданные MLFlow

externalDatabase.starVaultUserSecretPath

String

Нет

Путь к секрету в StarVault с pg_user

externalDatabase.starVaultPassSecretPath

String

Нет

Путь к секрету в StarVault с pg_password

2.2.3. spec.airFlow

Параметр Тип Обязательно Описание

enabled

bool

Да

Необходимость установки компонента

nodeSelector

Object

Нет

Выбор узлов для запуска компонента. В данный объект передается набор key:value

tolerations

Array of object

Нет

Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны spec.tolerations

storageClass

String

Нет, если задан на уровне spec.storageClass

Указывать не нужно в случае, если указан spec.storageClass

Переопределение storageClass.

logVolumeSize

String

Нет

Размер PV для хранения логов

externalGit

Object

Нет

Интеграция с Git вне кластера

externalGit.enabled

bool

Да

По умолчанию externalGit.enabled = false

Включение механизма интеграции с внешним git

externalGit.repo

String

Да, если externalGit.enabled = true

Адрес репозитория в формате https://<адрес>;

externalGit.starVaultUserSecretPath

String

Да, если externalGit.enabled = true

Путь к секрету с new_username

externalGit.starVaultPassSecretPath

String

Да, если externalGit.enabled = true

Путь к секрету с new_password

externalGit.branch

String

Да, если externalGit.enabled = true

Наименование ветки

externalDatabase

Object

Нет

Интеграция с БД вне кластера

externalDatabase.enabled

bool

Да

По умолчанию externalDatabase.enabled = false

Включение функционала

externalDatabase.host

String

Да, если externalDatabase.enabled = true

Имя хоста

externalDatabase.port

String

Да, если externalDatabase.enabled = true

Порт

externalDatabase.database

String

Да, если externalDatabase.enabled = true

Имя БД в PostgreSQL, где будут храниться метаданные AirFlow

externalDatabase.starVaultUserSecretPath

String

Да, если externalDatabase.enabled = true

Путь к секрету в StarVault с pg_user

externalDatabase.starVaultPassSecretPath

String

Да, если externalDatabase.enabled = true

Путь к секрету в StarVault с pg_password

2.2.4. spec.mlFlow

Параметр Тип Обязательно Описание

enabled

bool

Да

Необходимость установки компонента

nodeSelector

Object

Нет

Выбор узлов для запуска компонента. В данный объект передается набор key:value

tolerations

Array of object

Нет

Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны spec.tolerations

externalDatabase

Object

Нет, при условии что externalDatabase.enabled = false

Интеграция с БД вне кластера

externalDatabase.enabled

bool

Да

Включение функционала

externalDatabase.host

String

Нет

Имя хоста

externalDatabase.port

String

Нет

Порт

externalDatabase.database

String

Нет

Имя БД в PostgreSQL, где будут храниться метаданные mlFlow

externalDatabase.userDatabase

String

Нет

Имя БД в PostgreSQL, где хранятся УЗ пользователей

externalDatabase.starVaultUserSecretPath

String

Нет

Путь к секрету в StarVault с pg_user

externalDatabase.starVaultPassSecretPath

String

Нет

Путь к секрету в StarVault с pg_password

externalS3

Object

Нет

Интеграция с S3 хранилищем вне кластера

externalS3.enabled

bool

Да

По умолчанию externalS3.enabled = false

Включение функционала

externalS3.host

String

Да, если externalS3.enabled = true

Имя хоста

externalS3.port

String

Да, если externalS3.enabled = true

Порт

externalS3.bucket

String

Да, если externalS3.enabled = true

Имя бакета

externalS3.bucketRegion

String

Да, если externalS3.enabled = true

Локация бакета

externalS3.starVaultUserSecretPath

String

Да, если externalS3.enabled = true

Путь к секрету с s3_user

externalS3.starVaultPassSecretPath

String

Да, если externalS3.enabled = true

Путь к секрету с s3_password

2.2.5. spec.kubeRay

Параметр Тип Обязательно Описание

enabled

bool

Да

Необходимость установки компонента

nodeSelector

Object

Нет

Выбор узлов для запуска компонента. В данный объект передается набор key:value

tolerations

Array of object

Нет

Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны spec.tolerations

2.2.6. spec.postgreSQL

Параметр Тип Обязательно Описание

enabled

bool

Да

Необходимость установки компонента

nodeSelector

Object

Нет

Выбор узлов для запуска компонента. В данный объект передается набор key:value

tolerations

Array of object

Нет

Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны spec.tolerations

storageClass

String

Нет, если задан на уровне spec.storageClass

Переопределение storageClass

ha

Int

Да

Отказоуйстойчивая конфигурация

ha.enabled

bool

Да

Включение функционала

volumeSize

String

Нет

Размер PV, Гб

2.2.7. spec.minIO

Параметр Тип Обязательно Описание

enabled

bool

Да

Необходимость установки компонента

nodeSelector

Object

Нет

Выбор узлов для запуска компонента. В данный объект передается набор key:value

tolerations

Array of object

Нет

Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны spec.tolerations

storageClass

String

Нет, если задан на уровне spec.storageClass

Переопределение storageClass

nodeCount

Int

Нет

Количество нод MinIO

driveSize

String

Нет

Размер диска, Гб

driveCount

Int

Нет

Количество дисков

2.2.8. spec.kserve

Параметр Тип Обязательно Описание

enabled

bool

Да

Необходимость установки компонента

nodeSelector

Object

Нет

Выбор узлов для запуска компонента. В данный объект передается набор key:value

tolerations

Array of object

Нет

Список разрешений для запуска компонентов на узлах с taint. Компоненты объекта аналогичны spec.tolerations

externalS3

Object

Нет, при условии что externalS3.enabled = false

Интеграция с S3 хранилищем вне кластера

externalS3.enabled

bool

Да

Включение функционала

externalS3.host

String

Нет

Имя хоста

externalS3.port

String

Нет

Порт

externalS3.bucket

String

Нет

Имя бакета

externalS3.bucketRegion

String

Нет

Локация бакета

externalS3.starVaultUserSecretPath

String

Нет

Путь к секрету с s3_user

externalS3.starVaultPassSecretPath

String

Нет

Путь к секрету с s3_password