Kueue v1alpha1 API
Resource Types
CapacityProvider
Appears in:
CapacityProvider reports capacity for ResourceFlavors. DQO uses this capacity only when CapacitySynchronized=True.
| Field | Description |
|---|---|
apiVersionstring | kueue.x-k8s.io/v1alpha1 |
kindstring | CapacityProvider |
specCapacityProviderSpec | spec defines the desired state of the CapacityProvider. |
statusCapacityProviderStatus | status defines the capacity observed and published by the provider. |
DynamicQuotaOrchestrator
Appears in:
DynamicQuotaOrchestrator is the Schema for the dynamicquotaorchestrators API
| Field | Description |
|---|---|
apiVersionstring | kueue.x-k8s.io/v1alpha1 |
kindstring | DynamicQuotaOrchestrator |
specDynamicQuotaOrchestratorSpec | spec defines the desired state of the DynamicQuotaOrchestrator. |
statusDynamicQuotaOrchestratorStatus | status defines the observed state of the DynamicQuotaOrchestrator. |
PreemptionConfig
Appears in:
PreemptionConfig is the Schema for the preemptionconfigs API
| Field | Description |
|---|---|
apiVersionstring | kueue.x-k8s.io/v1alpha1 |
kindstring | PreemptionConfig |
specPreemptionConfigSpec | spec defines the preemption rules of the PreemptionConfig. |
CapacityDiscovery
Appears in:
| Field | Description |
|---|---|
providers [Required][]CapacityDiscoveryProviderContribution | providers lists CapacityProvider objects consumed by this DQO. |
CapacityDiscoveryProviderContribution
Appears in:
| Field | Description |
|---|---|
name [Required]CapacityProviderName | name identifies a CapacityProvider. |
effectiveCapacityMultiplierk8s.io/apimachinery/pkg/api/resource.Quantity | effectiveCapacityMultiplier specifies the multiplier applied to the discovered capacity from this provider. It defaults to 1. |
CapacityDistribution
Appears in:
| Field | Description |
|---|---|
subtreeRootQuotaRef,omitzero [Required]CapacityDistributionSubtreeRootRef | subtreeRootQuotaRef identifies the root of the quota subtree. |
CapacityDistributionSubtreeRootRef
Appears in:
| Field | Description |
|---|---|
kind [Required]SubtreeRootRefKind | kind indicates the kind of the quota node, i.e. ClusterQueue or Cohort. |
name [Required]string | name indicates the name of the quota node, i.e. ClusterQueue or Cohort. |
CapacityProviderControllerName
(Alias of string)
Appears in:
CapacityProviderName
(Alias of string)
Appears in:
CapacityProviderNormalizedCapacity
Appears in:
| Field | Description |
|---|---|
flavors [Required][]CapacityProviderNormalizedCapacityFlavor | flavors reports capacity for each flavor and resource. The list must contain at least one flavor. It should contain the same flavors as spec.orchestratedFlavors. An empty resources map means zero capacity for all resources of the flavor. |
CapacityProviderNormalizedCapacityFlavor
Appears in:
| Field | Description |
|---|---|
name [Required]ResourceFlavorReference | name identifies the ResourceFlavor whose capacity is reported. |
resources [Required]k8s.io/api/core/v1.ResourceList | resources contains total capacity by resource name. The provider orchestrates all resources of the flavor: a resource that is not listed, including when the map is empty, has zero capacity. |
CapacityProviderOrchestratedFlavor
Appears in:
CapacityProviderOrchestratedFlavor identifies a flavor managed by a provider. The container allows the mapping to be extended in a future API version.
| Field | Description |
|---|---|
name [Required]ResourceFlavorReference | name identifies the ResourceFlavor managed by this provider. |
CapacityProviderParametersReference
Appears in:
| Field | Description |
|---|---|
apiGroup [Required]string | apiGroup is the group for the resource being referenced. |
kind [Required]string | kind is the type of the resource being referenced. |
name [Required]string | name is the name of the resource being referenced. |
CapacityProviderSpec
Appears in:
| Field | Description |
|---|---|
orchestratedFlavors [Required][]CapacityProviderOrchestratedFlavor | orchestratedFlavors identifies the ResourceFlavors for which this provider may publish capacity. DQO ignores entries in status.capacity.flavors whose names are not listed here. The provider orchestrates all resources of the listed flavors: capacity that is not reported for a listed flavor is zero. |
controllerName [Required]CapacityProviderControllerName | controllerName identifies the controller publishing capacity. This field is immutable. |
parametersCapacityProviderParametersReference | parameters optionally references implementation-specific configuration. DQO does not read or validate the referenced object. |
CapacityProviderStatus
Appears in:
| Field | Description |
|---|---|
conditions[]k8s.io/apimachinery/pkg/apis/meta/v1.Condition | conditions represents the current state of this provider. |
capacityCapacityProviderNormalizedCapacity | capacity is the normalized capacity published by the provider. |
DynamicQuotaOrchestratorSpec
Appears in:
| Field | Description |
|---|---|
capacityDiscovery,omitzero [Required]CapacityDiscovery | capacityDiscovery specifies capacity aggregation. |
capacityDistributionCapacityDistribution | capacityDistribution specifies how aggregated capacity is distributed. When omitted, the DQO is discovery-only: it reports aggregated capacity but does not write effectiveQuotas status. |
DynamicQuotaOrchestratorStatus
Appears in:
| Field | Description |
|---|---|
conditions[]k8s.io/apimachinery/pkg/apis/meta/v1.Condition | conditions represents the current state of the DQO. |
effectiveCapacityEffectiveCapacity | effectiveCapacity is the combined capacity from the referenced providers. Each provider's capacity is multiplied by its effectiveCapacityMultiplier. DQO clears this field if any referenced provider is missing or does not have CapacitySynchronized=True. |
EffectiveCapacity
Appears in:
| Field | Description |
|---|---|
flavors [Required][]EffectiveCapacityFlavor | flavors contains the total capacity for each flavor and resource. It includes all flavors listed in spec.orchestratedFlavors of the referenced providers, up to 128 distinct flavors. If the referenced providers together orchestrate more distinct flavors, the DQO sets EffectiveCapacityComputed=False with reason AggregationFailed and clears status.effectiveCapacity. An empty resources map means zero capacity for all resources of the flavor. |
EffectiveCapacityFlavor
Appears in:
| Field | Description |
|---|---|
name [Required]ResourceFlavorReference | name identifies the ResourceFlavor whose capacity is reported. |
resources [Required]k8s.io/api/core/v1.ResourceList | resources contains total capacity by resource name. A resource that is not listed, including when the map is empty, has zero capacity for the flavor. |
NumericComparison
(Alias of string)
Appears in:
NumericComparison defines how a specified numeric property (e.g., priority or custom numeric label value) of the candidate compares to the same property of the preemptor. Possible values are:
- "LessThan": permits preemption if candidate field value < preemptor field value
- "GreaterThan": permits preemption if candidate field value > preemptor field value
- "LessThanOrEqual": permits preemption if candidate field value <= preemptor field value
- "GreaterThanOrEqual": permits preemption if candidate field value >= preemptor field value
PreemptionConfigActivationPolicy
Appears in:
PreemptionConfigActivationPolicy defines when a preemption rule contributes candidates.
| Field | Description |
|---|---|
trigger [Required]PreemptionConfigActivationTrigger | trigger specifies the prerequisite for contributing candidates. Possible values are:
Baseline candidates are the deduplicated union of:
|
PreemptionConfigActivationTrigger
(Alias of string)
Appears in:
PreemptionConfigActivationTrigger specifies when preemption rule should be treated as active.
PreemptionConfigNumericLabelConstraint
Appears in:
PreemptionConfigNumericLabelConstraint describes the rule for filtering a custom numerical label. For example, this can be used to filter candidates based on the label describing the required topology domain size, such as the "number of TPUs". If a user has a label "number-of-tpus" that describes the number of TPUs required in a single cube, it can be used to create a rule that selects only workloads requiring smaller cube slices by defining comparison: "LessThan". Such a configuration would allow preemption of "smaller" workloads, to achieve better cluster utilization and decrease fragmentation. Please note that those labels are not copied out of the box from job-like objects. You should remember to append the designated labels to the list of labels copied to the workload via the Kueue main configuration if you wish to use a custom label. As Kubernetes label values cannot start with '-', integer labels are always non-negative. A negative fallbackValue can thus ensure workloads without the label compare smaller than any labeled workload if this is desired. If neither comparison, minValue, nor maxValue are specified, the constraint checks only that candidate workloads possess the designated label key with a valid integer.
| Field | Description |
|---|---|
key [Required]string | key is the label key that stores the integer value in the workload that will be used for candidate selection. |
fallbackValueint32 | fallbackValue is used when a workload does not have the label key or the value under the key cannot be parsed as an integer. If not specified, workloads without the label or with a label value not parsable as int are treated as incomparable, and therefore excluded from preemption candidates. |
comparisonNumericComparison | comparison defines how the candidate's label value compares to the preemptor's. |
minValueint32 | minValue specifies the lowest label value a candidate workload can have to be considered for preemption. If not specified, no lower bound is enforced. |
maxValueint32 | maxValue specifies the highest label value a candidate workload can have to be considered for preemption. If not specified, no upper bound is enforced. |
PreemptionConfigPreemptionCandidateSelector
Appears in:
PreemptionConfigPreemptionCandidateSelector defines the selection criteria for workloads that are candidates for preemption.
| Field | Description |
|---|---|
scope [Required]PreemptionConfigPreemptionQueueScope | scope specifies the queue or cohort relation boundary of candidates to the preemptor workload. |
clusterQueueSelectork8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector | clusterQueueSelector defines label selector constraints on candidate ClusterQueues. Accepts all if not set. |
labelSelectork8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector | labelSelector defines label selector constraints on candidate Workloads. Accepts all if not set. |
numericLabels[]PreemptionConfigNumericLabelConstraint | numericLabels defines rules for filtering candidates using custom numeric labels on the Workload resource. Multiple numeric labels are joined using AND-rule (all have to be satisfied). Accepts all if not set. |
priorityPreemptionConfigPriorityConstraint | priority defines the requirements for the priority of candidates. Workloads not matching those requirements will not be considered as preemption candidates. If nil, no priority requirements are enforced. |
PreemptionConfigPreemptionQueueScope
(Alias of string)
Appears in:
PreemptionConfigPreemptionQueueScope specifies the relational boundary between the preempting workload's queue and candidate workloads' queues. Possible values are:
- "WithinLocalQueue": restricts preemption candidates to workloads submitted to the exact same LocalQueue (matching name and namespace).
- "WithinClusterQueue": restricts preemption candidates to workloads submitted to the same ClusterQueue as the preemptor.
- "WithinParentCohort": restricts preemption candidates to workloads in ClusterQueues that share the exact same immediate direct Cohort, as well as workloads in the preemptor's own ClusterQueue (even if standalone).
- "WithinCohortTree": restricts preemption candidates to workloads in ClusterQueues that belong to the same Cohort Tree (sharing the same root ancestor Cohort), as well as workloads in the preemptor's own ClusterQueue (even if standalone).
- "AnyClusterQueue": places no relationship restrictions on preemption candidates.
PreemptionConfigPreemptionRule
Appears in:
PreemptionConfigPreemptionRule defines a single rule under which preemptions can be triggered and the candidate workloads eligible for preemption.
| Field | Description |
|---|---|
name [Required]string | name is the identifier of the preemption rule. |
preemptorSelectork8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector | preemptorSelector is a label selector indicating which workloads can trigger preemptions using this rule. Accepts all workloads if not set. |
activationPolicy,omitzero [Required]PreemptionConfigActivationPolicy | activationPolicy determines when this rule contributes matching candidates to preemption evaluation. |
candidateSelectors[]PreemptionConfigPreemptionCandidateSelector | candidateSelectors specifies the selection rules for workloads that are candidates for preemption. Candidates resulting from multiple selectors are summed into one set. No selectors result in an empty candidate set, thereby disallowing any preemptions with this rule. |
PreemptionConfigPriorityConstraint
Appears in:
PreemptionConfigPriorityConstraint defines the requirements for the priority of preemption candidates.
| Field | Description |
|---|---|
mode [Required]PreemptionConfigPriorityMode | mode specifies whether priority comparison uses base or boosted (effective) priority. |
comparison [Required]NumericComparison | comparison defines how the candidate's priority compares to the preemptor's priority. For example, "LessThan" means that only workloads with lower priority will be allowed as preemption candidates. |
PreemptionConfigPriorityMode
(Alias of string)
Appears in:
PreemptionConfigPriorityMode defines whether base or boosted (effective) priority is used when comparing candidates against the preemptor. Possible values are:
- "Base": uses the raw priority value as assigned in the Workload resource (
spec.priority) for both the candidate and preemptor, ignoring any priority boost. - "Boosted": uses the effective priority value, adjusted by the priority boost mechanism (if enabled), for both the candidate and preemptor.
PreemptionConfigSpec
Appears in:
PreemptionConfigSpec defines the desired state of PreemptionConfig
| Field | Description |
|---|---|
rules[]PreemptionConfigPreemptionRule | rules specifies preemption candidate selection rules. |
ResourceFlavorReference
(Alias of string)
Appears in:
TODO: once we graduate this API to beta, we should leverage beta API's ResourceFlavorReference type instead of Alpha one. ResourceFlavorReference is the name of the ResourceFlavor.
SubtreeRootRefKind
(Alias of string)
Appears in:
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.