Class V1NodeAllocatableResource
NodeAllocatableResource defines the translation between the DRA device/capacity
units requested to the corresponding quantity of the node allocatable resource.
At least one of Mapping or Overhead must be specified. Not specifying either is
an invalid configuration.
Inheritance
V1NodeAllocatableResource
Assembly: KubernetesClient.dll
Syntax
public record V1NodeAllocatableResource : IEquatable<V1NodeAllocatableResource>
Constructors
V1NodeAllocatableResource()
Declaration
public V1NodeAllocatableResource()
V1NodeAllocatableResource(V1NodeAllocatableResource)
Declaration
protected V1NodeAllocatableResource(V1NodeAllocatableResource original)
Parameters
Properties
EqualityContract
Declaration
protected virtual Type EqualityContract { get; }
Property Value
Mapping
Mapping is used when the device directly models a node allocatable resource like
standard CPU or memory (e.g., with a CPU DRA driver). The calculated quantity is
accounted for exactly once per claim instance on the node. To prevent node
cgroup isolation friction, the scheduler explicitly blocks sharing mapped device
claims across multiple pods.
Declaration
[JsonPropertyName("mapping")]
public V1NodeAllocatableMapping Mapping { get; set; }
Property Value
Overhead
Overhead contains fields for modeling auxiliary overhead incurred on node
allocatable resources when allocating devices that are not themselves modeling a
node allocatable resource (e.g., host memory overhead for GPUs). Sharing
overhead-mapped claims across multiple pods is allowed. The node allocatable
overhead is accounted for individually for each pod referencing the claim.
Overhead is always subtracted from the node's allocatable capacity for the
resource, even when mapping is specified for the same resource. Eg: If a device
models memory capacity per socket as a consumable capacity pool via Mapping
(with CapacityKey), any overhead specified for the same resource will be
subtracted from the node's general allocatable capacity and not from the
per-socket capacity pool in Mapping.
Declaration
[JsonPropertyName("overhead")]
public V1NodeAllocatableOverhead Overhead { get; set; }
Property Value
Methods
Equals(object?)
Declaration
public override bool Equals(object? obj)
Parameters
| Type |
Name |
Description |
| object |
obj |
|
Returns
Overrides
Equals(V1NodeAllocatableResource?)
Declaration
public virtual bool Equals(V1NodeAllocatableResource? 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 ==(V1NodeAllocatableResource?, V1NodeAllocatableResource?)
Declaration
public static bool operator ==(V1NodeAllocatableResource? left, V1NodeAllocatableResource? right)
Parameters
Returns
operator !=(V1NodeAllocatableResource?, V1NodeAllocatableResource?)
Declaration
public static bool operator !=(V1NodeAllocatableResource? left, V1NodeAllocatableResource? right)
Parameters
Returns
Implements