Стадия жизненного цикла модуля: Общедоступная версия
У модуля есть требования для установки
Deckhouse Platform устанавливает CRD, но не удаляет их при отключении модуля. Если вам больше не нужны созданные CRD, удалите их.
GPUClass
Короткие имена: gpucls
Область: Cluster
Версия: v1alpha1
-
строкаapiVersionAPIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
-
строкаkindKind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
-
объектmetadata
-
объектspecGPUClassSpec defines a named pool of PhysicalGPU objects and the generated DeviceClass variants that users can request through extended resources.
-
объектspec.partitionFilterPartitionFilter restricts partition profile names used for generated DeviceClasses. Names come from PhysicalGPU status capabilities.
-
массив строкspec.partitionFilter.allowAllow is a whitelist of names that may be used.
-
массив строкspec.partitionFilter.denyDeny is a blacklist of names that must not be used.
-
-
объектspec.selectorSelector selects PhysicalGPU objects by labels. Empty selector means all PhysicalGPU objects in the cluster.
-
массив объектовspec.selector.matchExpressionsmatchExpressions is a list of label selector requirements. The requirements are ANDed.
-
строкаspec.selector.matchExpressions.keykey is the label key that the selector applies to.
-
строкаspec.selector.matchExpressions.operatoroperator represents a key’s relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
-
массив строкspec.selector.matchExpressions.valuesvalues is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
-
-
объектspec.selector.matchLabelsmatchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is “key”, the operator is “In”, and the values array contains only “value”. The requirements are ANDed.
-
-
объектspec.sharingFilterSharingFilter restricts sharing mode names used for generated DeviceClasses. Names come from PhysicalGPU labels with the gpu.deckhouse.io/sharing. prefix.
-
массив строкspec.sharingFilter.allowAllow is a whitelist of names that may be used.
-
массив строкspec.sharingFilter.denyDeny is a blacklist of names that must not be used.
-
-
-
объектstatusGPUClassStatus defines the observed state of GPUClass.
-
массив объектовstatus.conditionsConditions represent reconciliation status for this GPUClass.
-
строкаstatus.conditions.lastTransitionTimelastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
-
строкаstatus.conditions.messagemessage is a human readable message indicating details about the transition. This may be an empty string.
Максимальная длина:
32768 -
целое числоstatus.conditions.observedGenerationobservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
Допустимые значения:
0 <= X -
строкаstatus.conditions.reasonreason contains a programmatic identifier indicating the reason for the condition’s last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.
Длина:
1..1024Шаблон:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
строкаstatus.conditions.statusstatus of the condition, one of True, False, Unknown.
Допустимые значения:
True,False,Unknown -
строкаstatus.conditions.typetype of condition in CamelCase or in foo.example.com/CamelCase.
Максимальная длина:
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.deviceClassNamesDeviceClassNames is the complete list of DeviceClass objects generated for this GPUClass.
-
целое числоstatus.matchingPhysicalGPUCountMatchingPhysicalGPUCount is the number of PhysicalGPU objects matching the selector during the latest reconciliation.
-
PhysicalGPU
Короткие имена: pgpu
Область: Cluster
Версия: v1alpha1
-
строкаapiVersionВерсия API ресурса (например,
gpu.deckhouse.io/v1alpha1). -
строкаkindТип ресурса. Для этого объекта всегда
PhysicalGPU. -
объектmetadataСтандартные метаданные Kubernetes.
-
объектspecЖелаемое состояние (в v1alpha1 не используется, spec пустой).
-
объектstatusНабор наблюдаемых характеристик и условий готовности GPU.
-
объектstatus.capabilitiesСнимок возможностей (capability snapshot) устройства (доступен при готовности драйвера, когда
DriverReady=True).-
строкаstatus.capabilities.architectureАрхитектура GPU (например,
Hopper,RDNA3,Xe-HPC). -
строкаstatus.capabilities.computeAPIОсновной вычислительный API устройства:
CUDA,ROCm,oneAPI. -
строкаstatus.capabilities.computeCapabilityСтрока Compute Capability. Например,
8.0. -
целое числоstatus.capabilities.memoryMiBОбщий объём видеопамяти в MiB.
-
объектstatus.capabilities.partitionSupportОписание возможностей разбиения GPU на разделы (MIG, SPX, SR-IOV).
-
массив объектовstatus.capabilities.partitionSupport.profilesСписок поддерживаемых профилей разбиения.
-
целое числоstatus.capabilities.partitionSupport.profiles.maxInstancesМаксимальное количество экземпляров профиля.
-
целое числоstatus.capabilities.partitionSupport.profiles.memoryMiBОбъём видеопамяти профиля в MiB.
-
строкаstatus.capabilities.partitionSupport.profiles.nameИмя профиля (например,
1g.6gb,spx-half). -
целое числоstatus.capabilities.partitionSupport.profiles.profileIDЧисловой идентификатор профиля.
-
объектstatus.capabilities.partitionSupport.profiles.resourcesВендор-независимый набор счётчиков ресурсов профиля (например,
{"multiprocessors": 14}). -
целое числоstatus.capabilities.partitionSupport.profiles.sliceCountКоличество слайсов, занимаемых профилем.
-
-
булевыйstatus.capabilities.partitionSupport.supported
Обязательный параметр
Признак поддержки разбиения на разделы. -
строкаstatus.capabilities.partitionSupport.technologyТехнология разбиения:
MIG,SPX,SR-IOV. -
целое числоstatus.capabilities.partitionSupport.totalSlicesОбщее количество слайсов разбиения на GPU.
-
-
целое числоstatus.capabilities.powerLimitMaxWМаксимальный поддерживаемый power limit в ваттах.
-
целое числоstatus.capabilities.powerLimitMinWМинимальный поддерживаемый power limit в ваттах.
-
строкаstatus.capabilities.productNameНазвание GPU (например,
NVIDIA A30). -
строкаstatus.capabilities.vendorИдентификатор вендора GPU (например,
nvidia,amd,intel).
-
-
массив объектовstatus.conditionsСписок условий готовности GPU (
DriverReady,HardwareHealthy).-
строкаstatus.conditions.lastTransitionTimeВремя последнего перехода условия из одного статуса в другой.
-
строкаstatus.conditions.messageЧеловекочитаемое сообщение с подробностями о переходе. Может быть пустой строкой.
Максимальная длина:
32768 -
целое числоstatus.conditions.observedGenerationЗначение
.metadata.generation, при котором было установлено условие. Если меньше текущего generation, условие устарело.Допустимые значения:
0 <= X -
строкаstatus.conditions.reasonПрограммный идентификатор причины последнего перехода условия. Значение в формате CamelCase.
Длина:
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Тип условия в формате CamelCase или
foo.example.com/CamelCase.Максимальная длина:
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.currentStateТекущее состояние привязки драйвера и рантайм-параметров (доступно при готовности драйвера).
-
строкаstatus.currentState.computeAPIVersionСтрока версии вычислительного API во время работы.
-
строкаstatus.currentState.driverVersionВерсия драйвера.
-
строкаstatus.currentState.gpuUUIDUUID GPU, сообщаемый драйвером вендора.
-
объектstatus.currentState.partitionТекущее состояние режима разбиения GPU.
-
строкаstatus.currentState.partition.modeТекущий режим разбиения, сообщаемый адаптером.
-
-
целое числоstatus.currentState.powerLimitCurrentWТекущий power limit в ваттах.
-
целое числоstatus.currentState.powerLimitEnforcedWПринудительный (enforced) power limit в ваттах.
-
-
объектstatus.nodeInfoСведения об узле, ОС, ядре и обнаружении bare metal-узла.
-
булевыйstatus.nodeInfo.bareMetalПризнак того, что узел является bare metal.
-
строкаstatus.nodeInfo.nodeNameИмя узла Kubernetes, на котором обнаружен GPU.
-
-
объектstatus.pciInfoPCI-идентификация устройства.
-
строкаstatus.pciInfo.addressПолный PCI-адрес устройства (domain:bus:slot.func). Например,
0000:02:00.0. -
объектstatus.pciInfo.classОписание PCI-класса устройства (base+subclass).
-
строкаstatus.pciInfo.class.codeКод PCI-класса (base+subclass). Например,
0302.
-
-
объектstatus.pciInfo.deviceИдентификатор PCI устройства.
-
строкаstatus.pciInfo.device.idPCI device ID (например,
20b7).
-
-
объектstatus.pciInfo.vendorНазвание вендора устройства.
-
строкаstatus.pciInfo.vendor.idPCI vendor ID (например,
10de).
-
-
-
строкаstatus.phaseЖизненный цикл GPU, вычисляемый контроллером на основе условий:
Pending,Initializing,Ready,Reconfiguring,Failed,Lost.Допустимые значения:
Pending,Initializing,Ready,Reconfiguring,Failed,Lost
-