The module lifecycle stage: General Availability
The module has requirements for installation
The Deckhouse Kubernetes Platform installs CRDs but does not remove them when a module is disabled. If you no longer need the created CRDs, delete them.
PhysicalGPU
Scope: Cluster
Version: v1alpha1
-
stringapiVersionAPIVersion 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
-
stringkindKind 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
-
objectmetadata
-
objectspecPhysicalGPUSpec defines the desired state of PhysicalGPU. v0: desired state is intentionally empty.
-
objectstatusPhysicalGPUStatus defines the observed state of PhysicalGPU.
-
objectstatus.capabilitiesCapabilities is a snapshot of device capabilities.
-
stringstatus.capabilities.architectureArchitecture is the GPU architecture name (for example “Hopper”, “RDNA3”, “Xe-HPC”).
-
stringstatus.capabilities.computeAPIComputeAPI is the primary compute API (“CUDA”, “ROCm”, “oneAPI”).
-
stringstatus.capabilities.computeCapabilityComputeCapability is the compute capability string (for example “8.0” for NVIDIA, empty for others).
-
integerstatus.capabilities.memoryMiBMemoryMiB is the total framebuffer memory in MiB.
-
objectstatus.capabilities.partitionSupportPartitionSupport describes partition capabilities (MIG/SPX/SR-IOV).
-
array of objectsstatus.capabilities.partitionSupport.profilesProfiles lists supported partition profiles.
-
integerstatus.capabilities.partitionSupport.profiles.maxInstancesMaxInstances is the maximum number of instances for this profile.
-
integerstatus.capabilities.partitionSupport.profiles.memoryMiBMemoryMiB is the framebuffer size for the profile.
-
stringstatus.capabilities.partitionSupport.profiles.nameName is the profile name (for example “1g.6gb”, “spx-half”).
-
integerstatus.capabilities.partitionSupport.profiles.profileIDProfileID is the numeric profile ID.
-
objectstatus.capabilities.partitionSupport.profiles.resourcesResources is a vendor-agnostic map of resource counters (for example {“multiprocessors”: 14, “copy-engines”: 1}).
-
integerstatus.capabilities.partitionSupport.profiles.sliceCountSliceCount is the number of slices consumed by the profile.
-
-
booleanstatus.capabilities.partitionSupport.supported
Required value
Supported indicates whether partitioning is supported on this GPU. -
stringstatus.capabilities.partitionSupport.technologyTechnology is the partition technology name (“MIG”, “SPX”, “SR-IOV”).
-
integerstatus.capabilities.partitionSupport.totalSlicesTotalSlices is the total number of partition slices on the GPU.
-
-
integerstatus.capabilities.powerLimitMaxWPowerLimitMaxW is the maximum supported power limit in watts.
-
integerstatus.capabilities.powerLimitMinWPowerLimitMinW is the minimum supported power limit in watts.
-
stringstatus.capabilities.productNameProductName is the GPU product name (for example “NVIDIA A30”).
-
stringstatus.capabilities.vendorVendor is the GPU vendor identifier (for example “nvidia”, “amd”, “intel”).
-
-
array of objectsstatus.conditionsConditions represent the health and readiness of the GPU.
-
stringstatus.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.
-
stringstatus.conditions.messagemessage is a human readable message indicating details about the transition. This may be an empty string.
Maximum length:
32768 -
integerstatus.conditions.observedGenerationobservedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.
Allowed values:
0 <= X -
stringstatus.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.
Length:
1..1024Pattern:
^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$ -
stringstatus.conditions.statusstatus of the condition, one of True, False, Unknown.
Allowed values:
True,False,Unknown -
stringstatus.conditions.typetype of condition in CamelCase or in foo.example.com/CamelCase.
Maximum length:
316Pattern:
^([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])$
-
-
objectstatus.currentStateCurrentState reflects current driver binding and runtime details.
-
stringstatus.currentState.computeAPIVersionComputeAPIVersion is the compute API version string at runtime.
-
stringstatus.currentState.driverVersionDriverVersion is the driver version string.
-
stringstatus.currentState.gpuUUIDGPUUUID is the GPU UUID reported by the vendor driver.
-
objectstatus.currentState.partitionPartition describes the current partition mode state.
-
stringstatus.currentState.partition.modeMode is the current partition mode reported by the adapter.
-
-
integerstatus.currentState.powerLimitCurrentWPowerLimitCurrentW is the current power limit in watts.
-
integerstatus.currentState.powerLimitEnforcedWPowerLimitEnforcedW is the enforced power limit in watts.
-
-
objectstatus.nodeInfoNodeInfo contains node identification and bare-metal detection.
-
booleanstatus.nodeInfo.bareMetalBareMetal indicates whether the node is detected as bare metal.
-
stringstatus.nodeInfo.nodeNameNodeName is the Kubernetes node name where the GPU is detected.
-
-
objectstatus.pciInfoPCIInfo holds PCI identification details for the device.
-
stringstatus.pciInfo.addressAddress is the PCI address, for example “0000:02:00.0”.
-
objectstatus.pciInfo.classClass describes the PCI class.
-
stringstatus.pciInfo.class.codeCode is the PCI class code (base+subclass), for example “0302”.
-
-
objectstatus.pciInfo.deviceDevice describes the PCI device.
-
stringstatus.pciInfo.device.idID is the PCI device ID, for example “20b7”.
-
-
objectstatus.pciInfo.vendorVendor describes the PCI vendor.
-
stringstatus.pciInfo.vendor.idID is the PCI vendor ID, for example “10de”.
-
-
-
stringstatus.phasePhase is the lifecycle phase of the GPU, derived from conditions by gpu-controller.
Allowed values:
Pending,Initializing,Ready,Reconfiguring,Failed,Lost
-