1
0
mirror of https://github.com/openshift/openshift-docs.git synced 2026-02-05 12:46:18 +01:00
Files
openshift-docs/modules/kueue-configuring-clusterqueues.adoc

64 lines
2.3 KiB
Plaintext
Raw Permalink Normal View History

// Module included in the following assemblies:
//
// * ai_workloads/kueue/configuring-quotas.adoc
:_mod-docs-content-type: PROCEDURE
[id="configuring-clusterqueues_{context}"]
= Configuring a cluster queue
A cluster queue is a cluster-scoped resource, represented by a `ClusterQueue` object, that governs a pool of resources such as CPU, memory, and pods.
Cluster queues can be used to define usage limits, quotas for resource flavors, order of consumption, and fair sharing rules.
[NOTE]
====
The cluster queue is not ready for use until a `ResourceFlavor` object has also been configured.
====
.Prerequisites
include::snippets/prereqs-snippet-yaml.adoc[]
.Procedure
. Create a `ClusterQueue` object as a YAML file:
+
.Example of a basic `ClusterQueue` object using a single resource flavor
[source,yaml]
----
apiVersion: kueue.x-k8s.io/v1beta1
kind: ClusterQueue
metadata:
name: cluster-queue
spec:
namespaceSelector: {} # <1>
resourceGroups:
- coveredResources: ["cpu", "memory", "pods", "foo.com/gpu"] # <2>
flavors:
- name: "default-flavor" # <3>
resources: # <4>
- name: "cpu"
nominalQuota: 9
- name: "memory"
nominalQuota: 36Gi
- name: "pods"
nominalQuota: 5
- name: "foo.com/gpu"
nominalQuota: 100
----
<1> Defines which namespaces can use the resources governed by this cluster queue. An empty `namespaceSelector` as shown in the example means that all namespaces can use these resources.
<2> Defines the resource types governed by the cluster queue. This example `ClusterQueue` object governs CPU, memory, pod, and GPU resources.
<3> Defines the resource flavor that is applied to the resource types listed. In this example, the `default-flavor` resource flavor is applied to CPU, memory, pod, and GPU resources.
<4> Defines the resource requirements for admitting jobs. This example cluster queue only admits jobs if the following conditions are met:
+
* The sum of the CPU requests is less than or equal to 9.
* The sum of the memory requests is less than or equal to 36Gi.
* The total number of pods is less than or equal to 5.
* The sum of the GPU requests is less than or equal to 100.
. Apply the `ClusterQueue` object by running the following command:
+
[source,terminal]
----
$ oc apply -f <filename>.yaml
----