Class V1beta1NodeAllocatableResourceMapping
NodeAllocatableResourceMapping defines the translation between the DRA
device/capacity units requested to the corresponding quantity of the node
allocatable resource.
Inheritance
V1beta1NodeAllocatableResourceMapping
Assembly: KubernetesClient.dll
Syntax
public record V1beta1NodeAllocatableResourceMapping : IEquatable<V1beta1NodeAllocatableResourceMapping>
Constructors
V1beta1NodeAllocatableResourceMapping()
Declaration
public V1beta1NodeAllocatableResourceMapping()
V1beta1NodeAllocatableResourceMapping(V1beta1NodeAllocatableResourceMapping)
Declaration
protected V1beta1NodeAllocatableResourceMapping(V1beta1NodeAllocatableResourceMapping original)
Parameters
Properties
AllocationMultiplier
AllocationMultiplier is used as a multiplier for the allocated device count or
the allocated capacity in the claim. It defaults to 1 if not specified. How the
field is used also depends on whether capacityKey is set. 1. If capacityKey
is NOT set: allocationMultiplier multiplies the device count allocated to the
claim.
a. A DRA driver representing each CPU core as a device would have
{ResourceName: "cpu", allocationMultiplier: "2"} in its
nodeAllocatableResourceMappings. If 4 devices are allocated to the claim,
4 * 2 CPUs would be considered as allocated and subtracted from the node's
capacity.
b. A GPU device that needs additional node memory per GPU allocation would
have {ResourceName: "memory", allocationMultiplier: "2Gi"}. Each allocated
GPU device instance of this type will account for 2Gi of memory.
- If
capacityKey IS set: allocationMultiplier is multiplied by the amount
of that capacity consumed.
The final node allocatable resource amount is consumedCapacity[capacityKey] *
allocationMultiplier.
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",
allocationMultiplier: "2"}.
If a claim consumes 8 "dra.example.com/cores", the CPU footprint is 8 * 2 = 16.
Declaration
[JsonPropertyName("allocationMultiplier")]
public ResourceQuantity AllocationMultiplier { get; set; }
Property Value
CapacityKey
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. If allocationMultiplier is also set, it 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", and allocationMultiplier should be omitted or
set to "1".
Declaration
[JsonPropertyName("capacityKey")]
public string CapacityKey { get; set; }
Property Value
EqualityContract
Declaration
protected virtual Type EqualityContract { get; }
Property Value
Methods
Equals(object?)
Declaration
public override bool Equals(object? obj)
Parameters
| Type |
Name |
Description |
| object |
obj |
|
Returns
Overrides
Equals(V1beta1NodeAllocatableResourceMapping?)
Declaration
public virtual bool Equals(V1beta1NodeAllocatableResourceMapping? other)
Parameters
Returns
GetHashCode()
Declaration
public override int GetHashCode()
Returns
Overrides
PrintMembers(StringBuilder)
Declaration
protected virtual bool PrintMembers(StringBuilder builder)
Parameters
Returns
ToString()
Declaration
public override string ToString()
Returns
Overrides
Operators
operator ==(V1beta1NodeAllocatableResourceMapping?, V1beta1NodeAllocatableResourceMapping?)
Declaration
public static bool operator ==(V1beta1NodeAllocatableResourceMapping? left, V1beta1NodeAllocatableResourceMapping? right)
Parameters
Returns
operator !=(V1beta1NodeAllocatableResourceMapping?, V1beta1NodeAllocatableResourceMapping?)
Declaration
public static bool operator !=(V1beta1NodeAllocatableResourceMapping? left, V1beta1NodeAllocatableResourceMapping? right)
Parameters
Returns
Implements