You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: config/components/crd/bases/kueue.x-k8s.io_resourceflavors.yaml
+4-10Lines changed: 4 additions & 10 deletions
Original file line number
Diff line number
Diff line change
@@ -18,7 +18,10 @@ spec:
18
18
- name: v1alpha2
19
19
schema:
20
20
openAPIV3Schema:
21
-
description: ResourceFlavor is the Schema for the resourceflavors API
21
+
description: "ResourceFlavor is the Schema for the resourceflavors API. \n
22
+
.metadata.labels associated with this flavor are matched against or converted
23
+
to node affinity constraints on the workload’s pods. .metadata.labels can
24
+
be up to 8 elements."
22
25
properties:
23
26
apiVersion:
24
27
description: 'APIVersion defines the versioned schema of this representation
@@ -30,15 +33,6 @@ spec:
30
33
object represents. Servers may infer this from the endpoint the client
31
34
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
32
35
type: string
33
-
labels:
34
-
additionalProperties:
35
-
type: string
36
-
description: "labels associated with this flavor. They are matched against
37
-
or converted to node affinity constraints on the workload’s pods. For
38
-
example, cloud.provider.com/accelerator: nvidia-tesla-k80. More info:
39
-
http://kubernetes.io/docs/user-guide/labels \n labels can be up to 8
Copy file name to clipboardExpand all lines: docs/concepts/cluster_queue.md
+43-32Lines changed: 43 additions & 32 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,9 +1,9 @@
1
1
# Cluster Queue
2
2
3
3
A ClusterQueue is a cluster-scoped object that governs a pool of resources
4
-
such as CPU, memory and hardware accelerators. A `ClusterQueue` defines:
5
-
- The [resource _flavors_](#resourceflavor-object) that it manages, with usage
6
-
limits and order of consumption.
4
+
such as CPU, memory, and hardware accelerators. A ClusterQueue defines:
5
+
- The [resource _flavors_](#resourceflavor-object) that the ClusterQueue manages,
6
+
with usage limits and order of consumption.
7
7
- Fair sharing rules across the tenants of the cluster.
8
8
9
9
Only [cluster administrators](/docs/tasks#batch-administrator) should create `ClusterQueue` objects.
@@ -39,29 +39,29 @@ You can specify the quota as a [quantity](https://kubernetes.io/docs/reference/k
39
39
## Resources
40
40
41
41
In a ClusterQueue, you can define quotas for multiple [compute resources](https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-types)
42
-
(cpu, memory, GPUs, etc.).
42
+
(CPU, memory, GPUs, etc.).
43
43
44
-
For each resource, you can define quotas for multiple _flavors_. A
45
-
flavor represents different variations of a resource. The variations can be
46
-
defined in a [ResourceFlavor object](#resourceflavor-object).
44
+
For each resource, you can define quotas for multiple _flavors_.
45
+
Flavors represent different variations of a resource (for example, different GPU
46
+
models). A flavor is defined using a [ResourceFlavor object](#resourceflavor-object).
47
47
48
-
In a process called [admission](.#admission), Kueue assigns
49
-
[Workload pod sets](workload.md#pod-sets) a flavor for each resource it requests.
48
+
In a process called [admission](.#admission), Kueue assigns to the
49
+
[Workload pod sets](workload.md#pod-sets) a flavor for each resource the pod set
50
+
requests.
50
51
Kueue assigns the first flavor in the ClusterQueue's `.spec.resources[*].flavors`
51
52
list that has enough unused `min` quota in the ClusterQueue or the
52
53
ClusterQueue's [cohort](#cohort).
53
54
54
55
### Codepedent resources
55
56
56
-
It is possible that multiple resources are tied to the same flavors. This is
57
-
typical for `cpu` and `memory`, where the flavors are generally tied to a
58
-
machine family or availability guarantees.
57
+
It is possible that multiple resources in a ClusterQueue have the same flavors.
58
+
This is typical for `cpu` and `memory`, where the flavors are generally tied to
59
+
a machine family or VM availability policies. When two or more resources in a
60
+
ClusterQueue match their flavors, they are said to be codependent resources.
59
61
60
-
If this is the case, the resources in the ClusterQueue must list the same
61
-
flavors in the same order. When two or more resources match their flavors,
62
-
they are said to be codependent. During admission, for each pod set in a
63
-
Workload, Kueue assigns the same flavor to the codependent resources that the
64
-
pod set requests.
62
+
To manage codependent resources, you should list the flavors in the ClusterQueue
63
+
resources in the same order. During admission, for each pod set in a Workload,
64
+
Kueue assigns the same flavor to the codependent resources that the pod set requests.
65
65
66
66
An example of a ClusterQueue with codependent resources looks like the following:
67
67
@@ -150,8 +150,8 @@ Resources in a cluster are typically not homogeneous. Resources could differ in:
150
150
- architecture (ex: x86 vs ARM CPUs)
151
151
- brands and models (ex: Radeon 7000 vs Nvidia A100 vs T4 GPUs)
152
152
153
-
A ResourceFlavor is an object that represents these variations and allows you
154
-
to associate them with node labels and taints.
153
+
A ResourceFlavor is an object that represents these resource variations and
154
+
allows you to associate them with node labels and taints.
155
155
156
156
**Note**: If your cluster is homogeneous, you can use an [empty ResourceFlavor](#empty-resourceflavor)
157
157
instead of adding labels to custom ResourceFlavors.
0 commit comments