Skip to content

Latest commit

 

History

History
30 lines (23 loc) · 3.78 KB

File metadata and controls

30 lines (23 loc) · 3.78 KB

V1beta2NodeAllocatableMapping

NodeAllocatableMapping defines how a DRA allocation directly translates into a node allocatable resource quantity. The mapping can be derived from either the count of allocated devices (via deviceMultiplier) or the specific capacity consumed (via capacityKey and capacityMultiplier). These options are mutually exclusive. Kubelet adds this mapped resource quantity from claim to both requests and limits at the pod-level cgroup, and to limits at the container-level cgroup for each container referencing the claim.

Properties

Name Type Description Notes
capacity_key str CapacityKey references a capacity name defined as a key in the `spec.devices[].capacity` map. When this field is set, the value associated with this key in the `status.allocation.devices.results[].consumedCapacity` map (for a specific claim allocation) determines the base quantity for the node allocatable resource. `capacityMultiplier` must also be set and is multiplied with the base quantity. For example, if `spec.devices[*].capacity` has an entry "dra.example.com/memory": "128Gi", and this field is set to "dra.example.com/memory", then for a claim allocation that consumes { "dra.example.com/memory": "4Gi" } the base quantity for the node allocatable resource mapping will be "4Gi". The final node allocatable resource amount is `consumedCapacity[capacityKey]` * `capacityMultiplier`. [optional]
capacity_multiplier str CapacityMultiplier is used as a multiplier for the allocated capacity consumed. It is only valid if `capacityKey` is set. The final node allocatable resource amount is `consumedCapacity[capacityKey]` * `capacityMultiplier`. For example, if a Device's capacity "dra.example.com/cores" is consumed, and each "core" provides 2 "cpu"s, the mapping would be: {ResourceName: "cpu", capacityKey: "dra.example.com/cores", capacityMultiplier: "2"}. If a claim consumes 8 "dra.example.com/cores", the CPU footprint is 8 * 2 = 16. [optional]
device_multiplier str DeviceMultiplier is used as a multiplier for the allocated device count in the claim. The final node allocatable resource amount is `deviceCount` * `deviceMultiplier`. For example, a DRA driver representing each cache complex (CCX) as a device would have {ResourceName: "cpu", deviceMultiplier: "8"} in its `nodeAllocatableResources`. If 2 devices (CCX) are allocated to the claim, 2 * 8 = 16 CPUs would be considered as allocated. It is only valid when `capacityKey` and `capacityMultiplier` are not set. [optional]

Example

from kubernetes.client.models.v1beta2_node_allocatable_mapping import V1beta2NodeAllocatableMapping

# TODO update the JSON string below
json = "{}"
# create an instance of V1beta2NodeAllocatableMapping from a JSON string
v1beta2_node_allocatable_mapping_instance = V1beta2NodeAllocatableMapping.from_json(json)
# print the JSON string representation of the object
print(V1beta2NodeAllocatableMapping.to_json())

# convert the object into a dict
v1beta2_node_allocatable_mapping_dict = v1beta2_node_allocatable_mapping_instance.to_dict()
# create an instance of V1beta2NodeAllocatableMapping from a dict
v1beta2_node_allocatable_mapping_from_dict = V1beta2NodeAllocatableMapping.from_dict(v1beta2_node_allocatable_mapping_dict)

[Back to Model list] [Back to API list] [Back to README]