Show / Hide Table of Contents

Class 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.

Inheritance
object
V1beta2NodeAllocatableMapping
Implements
IEquatable<V1beta2NodeAllocatableMapping>
Inherited Members
object.GetType()
object.MemberwiseClone()
object.Equals(object, object)
object.ReferenceEquals(object, object)
Namespace: k8s.Models
Assembly: KubernetesClient.dll
Syntax
public record V1beta2NodeAllocatableMapping : IEquatable<V1beta2NodeAllocatableMapping>

Constructors

V1beta2NodeAllocatableMapping()

Declaration
public V1beta2NodeAllocatableMapping()

V1beta2NodeAllocatableMapping(V1beta2NodeAllocatableMapping)

Declaration
protected V1beta2NodeAllocatableMapping(V1beta2NodeAllocatableMapping original)
Parameters
Type Name Description
V1beta2NodeAllocatableMapping original

Properties

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. 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.

Declaration
[JsonPropertyName("capacityKey")]
public string CapacityKey { get; set; }
Property Value
Type Description
string

CapacityMultiplier

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.

Declaration
[JsonPropertyName("capacityMultiplier")]
public ResourceQuantity CapacityMultiplier { get; set; }
Property Value
Type Description
ResourceQuantity

DeviceMultiplier

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.

Declaration
[JsonPropertyName("deviceMultiplier")]
public ResourceQuantity DeviceMultiplier { get; set; }
Property Value
Type Description
ResourceQuantity

EqualityContract

Declaration
protected virtual Type EqualityContract { get; }
Property Value
Type Description
Type

Methods

Equals(object?)

Declaration
public override bool Equals(object? obj)
Parameters
Type Name Description
object obj
Returns
Type Description
bool
Overrides
object.Equals(object)

Equals(V1beta2NodeAllocatableMapping?)

Declaration
public virtual bool Equals(V1beta2NodeAllocatableMapping? other)
Parameters
Type Name Description
V1beta2NodeAllocatableMapping other
Returns
Type Description
bool

GetHashCode()

Declaration
public override int GetHashCode()
Returns
Type Description
int
Overrides
object.GetHashCode()

PrintMembers(StringBuilder)

Declaration
protected virtual bool PrintMembers(StringBuilder builder)
Parameters
Type Name Description
StringBuilder builder
Returns
Type Description
bool

ToString()

Declaration
public override string ToString()
Returns
Type Description
string
Overrides
object.ToString()

Operators

operator ==(V1beta2NodeAllocatableMapping?, V1beta2NodeAllocatableMapping?)

Declaration
public static bool operator ==(V1beta2NodeAllocatableMapping? left, V1beta2NodeAllocatableMapping? right)
Parameters
Type Name Description
V1beta2NodeAllocatableMapping left
V1beta2NodeAllocatableMapping right
Returns
Type Description
bool

operator !=(V1beta2NodeAllocatableMapping?, V1beta2NodeAllocatableMapping?)

Declaration
public static bool operator !=(V1beta2NodeAllocatableMapping? left, V1beta2NodeAllocatableMapping? right)
Parameters
Type Name Description
V1beta2NodeAllocatableMapping left
V1beta2NodeAllocatableMapping right
Returns
Type Description
bool

Implements

IEquatable<T>
In this article
Back to top Generated by DocFX