Skip to content

Commit 5fb3231

Browse files
docs: fix typo deserverd→deserved and add multi-tenant Queue example
Signed-off-by: Pushti <pushtisonawala24@gmail.com>
1 parent 9f0409c commit 5fb3231

2 files changed

Lines changed: 49 additions & 11 deletions

File tree

docs/KeyFeatures/QueueResourceManagement.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,14 +14,14 @@ sidebar_position: 5
1414
* Supports multi-dimensional resource quota control (CPU, Memory, GPU, NPU, etc.)
1515
* Provides three-level resource configuration mechanism:
1616
* capability: Upper limit of queue resource usage
17-
* deserverd: Deserved resource amount (when no other queues submit jobs, jobs in this queue can exceed the deserverd value; when multiple queues submit jobs and cluster resources are insufficient, resources exceeding the deserverd value can be reclaimed by other queues)
17+
* deserved: Deserved resource amount (when no other queues submit jobs, jobs in this queue can exceed the deserved value; when multiple queues submit jobs and cluster resources are insufficient, resources exceeding the deserved value can be reclaimed by other queues)
1818
* guarantee: Reserved resource amount (reserved resources can only be used by this queue, other queues cannot use them)
1919

2020
> Recommendations and Notes:
2121
>
22-
> 1. When configuring three-level resources, follow: guarantee ≤ deserverd ≤ capability;
23-
> 2. guarantee/capability can be configured as needed, deserverd value must be configured when capacity plugin is enabled;
24-
> 3. deserverd configuration recommendations: In peer queue scenarios, the sum of deserverd values of all queues equals the total cluster resources; In hierarchical queue scenarios, the sum of child queues' deserverd values equals the parent queue's deserverd value, but cannot exceed it.
22+
> 1. When configuring three-level resources, follow: guarantee <= deserved <= capability;
23+
> 2. guarantee/capability can be configured as needed, deserved value must be configured when capacity plugin is enabled;
24+
> 3. deserved configuration recommendations: In peer queue scenarios, the sum of deserved values of all queues equals the total cluster resources; In hierarchical queue scenarios, the sum of child queues' deserved values equals the parent queue's deserved value, but cannot exceed it.
2525
> 4. capability configuration notes: In hierarchical queue scenarios, child queue's capability value cannot exceed parent queue's capability value. If child queue's capability is not set, it will inherit parent queue's capability value.
2626
2727
* Supports dynamic resource quota adjustment
@@ -82,10 +82,10 @@ spec:
8282
8383
The capacity plugin enables quota control through precise resource configuration. Combined with [hierarchical queues](/docs/KeyFeatures/HierarchicalQueue), it can achieve more fine-grained multi-tenant resource allocation and facilitates big data workload migration to Kubernetes clusters.
8484
85-
> **Note**: When using cluster autoscaling components like Cluster Autoscaler or Karpenter, total cluster resources change dynamically. In this case, using capacity plugin requires manual adjustment of queue's deserverd values to adapt to resource changes.
85+
> **Note**: When using cluster autoscaling components like Cluster Autoscaler or Karpenter, total cluster resources change dynamically. In this case, using capacity plugin requires manual adjustment of queue's deserved values to adapt to resource changes.
8686
8787
#### proportion plugin
88-
Unlike the capacity plugin, the proportion plugin automatically calculates queue's deserved resource amount by configuring queue Weight values, without explicitly configuring deserverd values:
88+
Unlike the capacity plugin, the proportion plugin automatically calculates queue's deserved resource amount by configuring queue Weight values, without explicitly configuring deserved values:
8989
9090
```yaml
9191
apiVersion: scheduling.volcano.sh/v1beta1
@@ -99,16 +99,16 @@ spec:
9999
memory: "40Gi"
100100
```
101101
102-
When total cluster resource is `total_resource`, each queue's deserverd value is calculated as:
102+
When total cluster resource is `total_resource`, each queue's deserved value is calculated as:
103103
```
104104
queue_deserved = (queue_weight / total_weight) * total_resource
105105
```
106106
107107
Where `queue_weight` represents current queue's weight, `total_weight` represents sum of all queue weights, `total_resource` represents total cluster resources.
108108
109-
Compared to capacity plugin, capacity plugin allows direct configuration of queue's deserverd value, while proportion plugin automatically calculates queue's deserverd value through weight ratio. When cluster resources change (e.g., through Cluster Autoscaler or Karpenter scaling), proportion plugin automatically recalculates each queue's deserverd value based on weight ratios, requiring no manual intervention.
109+
Compared to capacity plugin, capacity plugin allows direct configuration of queue's deserved value, while proportion plugin automatically calculates queue's deserved value through weight ratio. When cluster resources change (e.g., through Cluster Autoscaler or Karpenter scaling), proportion plugin automatically recalculates each queue's deserved value based on weight ratios, requiring no manual intervention.
110110
111-
> **Important Note**: The actual deserverd value is dynamically adjusted. If calculated `queue_deserved` is greater than total resource requests of PodGroups waiting to be scheduled in the queue, the final deserverd value will be set to the total request amount to avoid over-reservation of resources and improve overall utilization.
111+
> **Important Note**: The actual deserved value is dynamically adjusted. If calculated `queue_deserved` is greater than total resource requests of PodGroups waiting to be scheduled in the queue, the final deserved value will be set to the total request amount to avoid over-reservation of resources and improve overall utilization.
112112
113113
> **Note**:
114114
> 1. capacity plugin and proportion plugin must be used exclusively, they cannot be used simultaneously
@@ -236,4 +236,4 @@ This scenario works with both capacity plugin and proportion plugin:
236236
>
237237
> 2. The choice between plugins depends on whether you want to set deserved directly (capacity) or calculate deserved automatically through weights (proportion)
238238
>
239-
> 3. After Volcano v1.9.0, capacity plugin is recommended as it provides more intuitive resource configuration
239+
> 3. After Volcano v1.9.0, capacity plugin is recommended as it provides more intuitive resource configuration

versioned_docs/version-v1.10.0/Concepts/Queue.md

Lines changed: 39 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -89,11 +89,49 @@ This field is used to configure [hierarchical queues](/docs/KeyFeatures/Hierarch
8989
`Closing` indicates that the queue is becoming unavailable. It is a transient state. A `Closing` queue cannot accept any new PodGroups.
9090
### Unknown
9191
`Unknown` indicates that the queue status is unknown because of unexpected situations such as network jitter.
92+
93+
## Multi-tenant Example
94+
95+
In a multi-tenant cluster, each team can have their own Queue with separate resource limits. Here's an example with two teams:
96+
97+
```yaml
98+
# Team A's queue - gets 4 CPUs guaranteed
99+
apiVersion: scheduling.volcano.sh/v1beta1
100+
kind: Queue
101+
metadata:
102+
name: team-a
103+
spec:
104+
capability:
105+
cpu: "8"
106+
memory: 16Gi
107+
guarantee:
108+
resource:
109+
cpu: "4"
110+
memory: 8Gi
111+
reclaimable: true
112+
---
113+
# Team B's queue - gets 4 CPUs guaranteed
114+
apiVersion: scheduling.volcano.sh/v1beta1
115+
kind: Queue
116+
metadata:
117+
name: team-b
118+
spec:
119+
capability:
120+
cpu: "8"
121+
memory: 16Gi
122+
guarantee:
123+
resource:
124+
cpu: "4"
125+
memory: 8Gi
126+
reclaimable: true
127+
```
128+
129+
Each team submits their jobs to their own queue. If Team A's jobs are idle, Team B can use the extra resources, and vice versa.
92130
93131
## Note
94132
#### default Queue
95133
When Volcano starts, it automatically creates queue `default` whose `weight` is `1`. Subsequent jobs that are not assigned to a queue will be assigned to queue `default`.
96134
#### root queue
97135
When Volcano starts, it also creates a queue named root by default. This queue is used when the [hierarchical queue](/docs/KeyFeatures/HierarchicalQueue) feature is enabled, serving as the root queue for all queues, with the default queue being a child queue of the root queue.
98136

99-
> For more information on queue usage scenarios, please refer to [Queue Resource Management](/docs/KeyFeatures/QueueResourceManagement)
137+
> For more information on queue usage scenarios, please refer to [Queue Resource Management](/docs/KeyFeatures/QueueResourceManagement)

0 commit comments

Comments
 (0)