Стадия жизненного цикла модуля: Experimental
У модуля есть требования для установки
Deckhouse Kubernetes Platform устанавливает CRD, но не удаляет их при отключении модуля. Если вам больше не нужны созданные CRD, удалите их.
ClusterModel
Scope: Cluster
Version: v1alpha1
Модель, доступная во всём кластере.
Контроллер получает данные из удалённого источника или внешнего
каталога, проверяет их и сохраняет локальную копию в DMCR.
Когда status.phase становится Ready, рабочие нагрузки могут
использовать модель по аннотации ai.deckhouse.io/clustermodel.
-
объектspecИсточник и параметры подготовки модели.
-
объектspec.source
Обязательный параметр
Источник модели. После создания изменить источник нельзя. Укажите ровно один вариант:url,uploadилиcatalog.-
объектspec.source.catalogИмпортирует модель из внешнего каталога, описанного ресурсом
ModelCatalogSource.-
строкаspec.source.catalog.name
Обязательный параметр
Имя модели во внешнем каталоге.Длина:
1..253Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ -
строкаspec.source.catalog.sourceNameИмя
ModelCatalogSource. Можно не указывать, если в кластере есть только один внешний каталог в фазеReady.Длина:
1..253Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ -
строкаspec.source.catalog.versionВерсия модели во внешнем каталоге, если источник публикует несколько активных версий.
Длина:
1..128
-
-
объектspec.source.uploadЗапрашивает управляемую сессию загрузки локального файла или архива для общей модели уровня кластера.
-
строкаspec.source.urlURL репозитория Hugging Face или ссылка Ollama вида
https://ollama.com/library/<name>[:tag].Минимальная длина:
1Шаблон:
^https:\/\/(((www\.)?huggingface\.co|hf\.co)\/.+|(www\.)?ollama\.com\/library\/[^:\/?#]+(:[^\/?#]+)?([\/?#].*)?)$
-
-
-
объектstatusТекущее состояние подготовки модели.
-
объектstatus.artifactПроверенная локальная копия модели.
-
строкаstatus.artifact.digestКонтрольная сумма локальной копии модели.
-
строкаstatus.artifact.kindВид локальной копии модели.
Допустимые значения:
OCI -
строкаstatus.artifact.mediaTypeТип содержимого OCI-артефакта локальной копии.
-
целочисленныйstatus.artifact.sizeBytesРазмер локальной копии модели в байтах.
Допустимые значения:
1 <= X
-
-
массив объектовstatus.conditionsПодробные условия готовности и причины ошибок.
-
строкаstatus.conditions.lastTransitionTimeВремя последнего изменения состояния условия.
-
строкаstatus.conditions.messageЧеловекочитаемое сообщение с подробностями состояния или ошибки.
Максимальная длина:
32768 -
целочисленныйstatus.conditions.observedGenerationПоколение ресурса, для которого выставлено условие.
Допустимые значения:
0 <= X -
строкаstatus.conditions.reasonМашиночитаемая причина последнего изменения условия.
Длина:
1..1024Шаблон:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
строкаstatus.conditions.statusСостояние условия:
True,FalseилиUnknown.Допустимые значения:
True,False,Unknown -
строкаstatus.conditions.typeТип условия.
Максимальная длина:
316Шаблон:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
-
-
целочисленныйstatus.observedGenerationПоколение ресурса, которое обработал контроллер.
-
строкаstatus.phaseТекущая фаза:
Pending,WaitForUpload,Publishing,Ready,FailedилиDeleting.Допустимые значения:
Pending,WaitForUpload,Publishing,Ready,Failed,Deleting -
строкаstatus.progressПонятное описание прогресса текущей операции.
-
объектstatus.resolvedРассчитанные свойства модели: формат, семейство и поддержанные возможности.
-
строкаstatus.resolved.architectureАрхитектура модели, если она указана в метаданных.
-
целочисленныйstatus.resolved.contextWindowTokensРазмер контекстного окна, если он известен.
Допустимые значения:
1 <= X -
строкаstatus.resolved.familyСемейство модели, если его удалось определить.
-
строкаstatus.resolved.formatОпределённый формат исходных файлов модели.
Допустимые значения:
Safetensors,GGUF,Diffusers -
целочисленныйstatus.resolved.parameterCountКоличество параметров модели, если оно известно.
Допустимые значения:
1 <= X -
строкаstatus.resolved.quantizationКвантование модели, если оно указано в метаданных.
-
объектstatus.resolved.sourceCapabilitiesВозможности, которые провайдер источника сообщил в метаданных модели.
-
массив строкstatus.resolved.sourceCapabilities.featuresВозможности модели из метаданных провайдера.
-
строкаstatus.resolved.sourceCapabilities.features.Элемент массиваНазвание возможности.
Длина:
1..128
-
-
строкаstatus.resolved.sourceCapabilities.providerПровайдер источника метаданных.
Допустимые значения:
HuggingFace,Ollama,Upload,Catalog -
массив строкstatus.resolved.sourceCapabilities.tasksЗадачи модели из метаданных провайдера.
-
строкаstatus.resolved.sourceCapabilities.tasks.Элемент массиваНазвание задачи.
Длина:
1..128
-
-
-
массив строкstatus.resolved.supportedEndpointTypesТипы API, которые поддерживает модель.
-
строкаstatus.resolved.supportedEndpointTypes.Элемент массиваТип API.
Допустимые значения:
Chat,TextGeneration,Embeddings,Rerank,SpeechToText,TextToSpeech,Translation,ImageClassification,ObjectDetection,ImageSegmentation,ImageToText,VisualQuestionAnswering,ImageGeneration,VideoGeneration,AudioGeneration
-
-
массив строкstatus.resolved.supportedFeaturesВозможности модели, определённые контроллером.
-
строкаstatus.resolved.supportedFeatures.Элемент массиваВозможность модели.
Допустимые значения:
VisionInput,AudioInput,AudioOutput,ImageOutput,VideoInput,VideoOutput,MultiModalInput,ToolCalling
-
-
-
объектstatus.sourceЗафиксированный результат разбора источника.
-
объектstatus.source.catalogЗафиксированные сведения внешнего каталога, по которым была импортирована модель.
-
строкаstatus.source.catalog.catalogRevisionРевизия внешнего каталога.
-
строкаstatus.source.catalog.nameИмя модели во внешнем каталоге.
Минимальная длина:
1 -
строкаstatus.source.catalog.remoteDigestКонтрольная сумма OCI-артефакта во внешнем каталоге.
-
строкаstatus.source.catalog.sourceNameИмя использованного
ModelCatalogSource.Минимальная длина:
1 -
строкаstatus.source.catalog.versionВерсия модели во внешнем каталоге, если она была выбрана.
-
-
строкаstatus.source.resolvedRevisionРевизия, тег или контрольная сумма источника, если провайдер возвращает такую информацию.
-
строкаstatus.source.resolvedTypeТип источника, определённый контроллером.
Допустимые значения:
HuggingFace,Ollama,Upload,Catalog
-
-
объектstatus.uploadДанные управляемой сессии загрузки. Secret с URL и токеном доступен только пользователям с правом чтения конкретной загрузки.
-
строкаstatus.upload.expiresAtВремя окончания сессии загрузки.
-
строкаstatus.upload.secretNameИмя Secret с URL загрузки и токеном доступа.
Минимальная длина:
1 -
строкаstatus.upload.secretNamespaceПространство имён Secret с URL загрузки и токеном доступа.
Минимальная длина:
1
-
-
ModelCatalogSource
Scope: Cluster
Version: v1alpha1
Внешний каталог моделей.
Ресурс описывает адрес, учётные данные и доверенный сертификат
внешнего каталога ClusterModel. Контроллер читает список
доступных моделей и импортирует выбранные модели как локальные
копии в DMCR.
-
объектspecПараметры подключения к внешнему каталогу.
-
строкаspec.caSecretNameНеобязательное имя Secret в
d8-systemс ключомca.crtдля доверия к частному центру сертификации внешнего каталога.Длина:
1..253Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ -
строкаspec.credentialsSecretName
Обязательный параметр
Имя Secret вd8-systemс токеном доступа к внешнему каталогу. Контроллер читает Secret напрямую и не копирует его в пространства имён приложений.Длина:
1..253Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ -
строкаspec.refreshIntervalКак часто контроллер обновляет список моделей во внешнем каталоге. Если не указано, используется безопасное значение по умолчанию.
-
строкаspec.url
Обязательный параметр
HTTPS-адрес внешнего каталога моделей.Минимальная длина:
9Шаблон:
^https:\/\/[^:\/?#@]+(:[0-9]+)?(\/[^?#]*)?$
-
-
объектstatusСостояние подключения к внешнему каталогу.
-
строкаstatus.catalogRevisionПоследняя успешно прочитанная ревизия каталога.
-
массив объектовstatus.conditionsУсловия готовности и причины ошибок подключения.
-
строкаstatus.conditions.lastTransitionTimeВремя последнего изменения состояния условия.
-
строкаstatus.conditions.messageЧеловекочитаемое сообщение с подробностями состояния или ошибки.
Максимальная длина:
32768 -
целочисленныйstatus.conditions.observedGenerationПоколение ресурса, для которого выставлено условие.
Допустимые значения:
0 <= X -
строкаstatus.conditions.reasonМашиночитаемая причина последнего изменения условия.
Длина:
1..1024Шаблон:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
строкаstatus.conditions.statusСостояние условия:
True,FalseилиUnknown.Допустимые значения:
True,False,Unknown -
строкаstatus.conditions.typeТип условия.
Максимальная длина:
316Шаблон:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
-
-
целочисленныйstatus.entryCountКоличество моделей в последней успешной ревизии.
Допустимые значения:
0 <= X -
строкаstatus.lastSuccessfulRefreshTimeВремя последнего успешного обновления каталога.
-
целочисленныйstatus.observedGenerationПоколение ресурса, обработанное контроллером.
-
Model
Scope: Namespaced
Version: v1alpha1
Модель в пространстве имён.
Контроллер получает данные из удалённого источника, загрузки
пользователя или внешнего каталога, проверяет их и сохраняет
локальную копию в DMCR. Когда status.phase становится Ready,
рабочие нагрузки в том же пространстве имён могут использовать
модель по аннотации ai.deckhouse.io/model.
-
объектspecИсточник и параметры подготовки модели.
-
объектspec.source
Обязательный параметр
Источник модели. После создания изменить источник нельзя. Укажите ровно один вариант:url,uploadилиcatalog.-
объектspec.source.authSecretRefSecret из того же пространства имён с токеном доступа к приватному репозиторию Hugging Face.
-
строкаspec.source.authSecretRef.name
Обязательный параметр
Имя Secret.Минимальная длина:
1
-
-
объектspec.source.catalogИмпортирует модель из внешнего каталога, описанного ресурсом
ModelCatalogSource.-
строкаspec.source.catalog.name
Обязательный параметр
Имя модели во внешнем каталоге.Длина:
1..253Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ -
строкаspec.source.catalog.sourceNameИмя
ModelCatalogSource. Можно не указывать, если в кластере есть только один внешний каталог в фазеReady.Длина:
1..253Шаблон:
^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$ -
строкаspec.source.catalog.versionВерсия модели во внешнем каталоге, если источник публикует несколько активных версий.
Длина:
1..128
-
-
объектspec.source.uploadЗапрашивает управляемую сессию загрузки локального файла или архива.
-
строкаspec.source.urlURL репозитория Hugging Face или ссылка Ollama вида
https://ollama.com/library/<name>[:tag].Минимальная длина:
1Шаблон:
^https:\/\/(((www\.)?huggingface\.co|hf\.co)\/.+|(www\.)?ollama\.com\/library\/[^:\/?#]+(:[^\/?#]+)?([\/?#].*)?)$
-
-
-
объектstatusТекущее состояние подготовки и доставки модели.
-
объектstatus.artifactПроверенная локальная копия модели.
-
строкаstatus.artifact.digestКонтрольная сумма локальной копии модели.
-
строкаstatus.artifact.kindВид локальной копии модели.
Допустимые значения:
OCI -
строкаstatus.artifact.mediaTypeТип содержимого OCI-артефакта локальной копии.
-
целочисленныйstatus.artifact.sizeBytesРазмер локальной копии модели в байтах.
Допустимые значения:
1 <= X
-
-
массив объектовstatus.conditionsПодробные условия готовности и причины ошибок.
-
строкаstatus.conditions.lastTransitionTimeВремя последнего изменения состояния условия.
-
строкаstatus.conditions.messageЧеловекочитаемое сообщение с подробностями состояния или ошибки.
Максимальная длина:
32768 -
целочисленныйstatus.conditions.observedGenerationПоколение ресурса, для которого выставлено условие.
Допустимые значения:
0 <= X -
строкаstatus.conditions.reasonМашиночитаемая причина последнего изменения условия.
Длина:
1..1024Шаблон:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
строкаstatus.conditions.statusСостояние условия:
True,FalseилиUnknown.Допустимые значения:
True,False,Unknown -
строкаstatus.conditions.typeТип условия.
Максимальная длина:
316Шаблон:
^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
-
-
целочисленныйstatus.observedGenerationПоколение ресурса, которое обработал контроллер.
-
строкаstatus.phaseТекущая фаза:
Pending,WaitForUpload,Publishing,Ready,FailedилиDeleting.Допустимые значения:
Pending,WaitForUpload,Publishing,Ready,Failed,Deleting -
строкаstatus.progressПонятное описание прогресса текущей операции.
-
объектstatus.resolvedРассчитанные свойства модели: формат, семейство и поддержанные возможности.
-
строкаstatus.resolved.architectureАрхитектура модели, если она указана в метаданных.
-
целочисленныйstatus.resolved.contextWindowTokensРазмер контекстного окна, если он известен.
Допустимые значения:
1 <= X -
строкаstatus.resolved.familyСемейство модели, если его удалось определить.
-
строкаstatus.resolved.formatОпределённый формат исходных файлов модели.
Допустимые значения:
Safetensors,GGUF,Diffusers -
целочисленныйstatus.resolved.parameterCountКоличество параметров модели, если оно известно.
Допустимые значения:
1 <= X -
строкаstatus.resolved.quantizationКвантование модели, если оно указано в метаданных.
-
объектstatus.resolved.sourceCapabilitiesВозможности, которые провайдер источника сообщил в метаданных модели.
-
массив строкstatus.resolved.sourceCapabilities.featuresВозможности модели из метаданных провайдера.
-
строкаstatus.resolved.sourceCapabilities.features.Элемент массиваНазвание возможности.
Длина:
1..128
-
-
строкаstatus.resolved.sourceCapabilities.providerПровайдер источника метаданных.
Допустимые значения:
HuggingFace,Ollama,Upload,Catalog -
массив строкstatus.resolved.sourceCapabilities.tasksЗадачи модели из метаданных провайдера.
-
строкаstatus.resolved.sourceCapabilities.tasks.Элемент массиваНазвание задачи.
Длина:
1..128
-
-
-
массив строкstatus.resolved.supportedEndpointTypesТипы API, которые поддерживает модель.
-
строкаstatus.resolved.supportedEndpointTypes.Элемент массиваТип API.
Допустимые значения:
Chat,TextGeneration,Embeddings,Rerank,SpeechToText,TextToSpeech,Translation,ImageClassification,ObjectDetection,ImageSegmentation,ImageToText,VisualQuestionAnswering,ImageGeneration,VideoGeneration,AudioGeneration
-
-
массив строкstatus.resolved.supportedFeaturesВозможности модели, определённые контроллером.
-
строкаstatus.resolved.supportedFeatures.Элемент массиваВозможность модели.
Допустимые значения:
VisionInput,AudioInput,AudioOutput,ImageOutput,VideoInput,VideoOutput,MultiModalInput,ToolCalling
-
-
-
объектstatus.sourceЗафиксированный результат разбора источника.
-
объектstatus.source.catalogЗафиксированные сведения внешнего каталога, по которым была импортирована модель.
-
строкаstatus.source.catalog.catalogRevisionРевизия внешнего каталога.
-
строкаstatus.source.catalog.nameИмя модели во внешнем каталоге.
Минимальная длина:
1 -
строкаstatus.source.catalog.remoteDigestКонтрольная сумма OCI-артефакта во внешнем каталоге.
-
строкаstatus.source.catalog.sourceNameИмя использованного
ModelCatalogSource.Минимальная длина:
1 -
строкаstatus.source.catalog.versionВерсия модели во внешнем каталоге, если она была выбрана.
-
-
строкаstatus.source.resolvedRevisionРевизия, тег или контрольная сумма источника, если провайдер возвращает такую информацию.
-
строкаstatus.source.resolvedTypeТип источника, определённый контроллером.
Допустимые значения:
HuggingFace,Ollama,Upload,Catalog
-
-
объектstatus.uploadДанные управляемой сессии загрузки. Secret с URL и токеном доступен только пользователям с правом чтения конкретной загрузки.
-
строкаstatus.upload.expiresAtВремя окончания сессии загрузки.
-
строкаstatus.upload.secretNameИмя Secret с URL загрузки и токеном доступа.
Минимальная длина:
1 -
строкаstatus.upload.secretNamespaceПространство имён Secret с URL загрузки и токеном доступа.
Минимальная длина:
1
-
-