sigs.k8s.io/kueue@v0.6.2/site/content/en/docs/reference/kueue.v1beta1.md (about) 1 --- 2 title: Kueue API 3 content_type: tool-reference 4 package: kueue.x-k8s.io/v1beta1 5 auto_generated: true 6 description: Generated API reference documentation for kueue.x-k8s.io/v1beta1. 7 --- 8 9 10 ## Resource Types 11 12 13 - [AdmissionCheck](#kueue-x-k8s-io-v1beta1-AdmissionCheck) 14 - [ClusterQueue](#kueue-x-k8s-io-v1beta1-ClusterQueue) 15 - [LocalQueue](#kueue-x-k8s-io-v1beta1-LocalQueue) 16 - [ProvisioningRequestConfig](#kueue-x-k8s-io-v1beta1-ProvisioningRequestConfig) 17 - [ResourceFlavor](#kueue-x-k8s-io-v1beta1-ResourceFlavor) 18 - [Workload](#kueue-x-k8s-io-v1beta1-Workload) 19 - [WorkloadPriorityClass](#kueue-x-k8s-io-v1beta1-WorkloadPriorityClass) 20 21 22 ## `AdmissionCheck` {#kueue-x-k8s-io-v1beta1-AdmissionCheck} 23 24 25 **Appears in:** 26 27 28 29 <p>AdmissionCheck is the Schema for the admissionchecks API</p> 30 31 32 <table class="table"> 33 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 34 <tbody> 35 36 <tr><td><code>apiVersion</code><br/>string</td><td><code>kueue.x-k8s.io/v1beta1</code></td></tr> 37 <tr><td><code>kind</code><br/>string</td><td><code>AdmissionCheck</code></td></tr> 38 39 40 <tr><td><code>spec</code> <B>[Required]</B><br/> 41 <a href="#kueue-x-k8s-io-v1beta1-AdmissionCheckSpec"><code>AdmissionCheckSpec</code></a> 42 </td> 43 <td> 44 <span class="text-muted">No description provided.</span></td> 45 </tr> 46 <tr><td><code>status</code> <B>[Required]</B><br/> 47 <a href="#kueue-x-k8s-io-v1beta1-AdmissionCheckStatus"><code>AdmissionCheckStatus</code></a> 48 </td> 49 <td> 50 <span class="text-muted">No description provided.</span></td> 51 </tr> 52 </tbody> 53 </table> 54 55 ## `ClusterQueue` {#kueue-x-k8s-io-v1beta1-ClusterQueue} 56 57 58 **Appears in:** 59 60 61 62 <p>ClusterQueue is the Schema for the clusterQueue API.</p> 63 64 65 <table class="table"> 66 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 67 <tbody> 68 69 <tr><td><code>apiVersion</code><br/>string</td><td><code>kueue.x-k8s.io/v1beta1</code></td></tr> 70 <tr><td><code>kind</code><br/>string</td><td><code>ClusterQueue</code></td></tr> 71 72 73 <tr><td><code>spec</code> <B>[Required]</B><br/> 74 <a href="#kueue-x-k8s-io-v1beta1-ClusterQueueSpec"><code>ClusterQueueSpec</code></a> 75 </td> 76 <td> 77 <span class="text-muted">No description provided.</span></td> 78 </tr> 79 <tr><td><code>status</code> <B>[Required]</B><br/> 80 <a href="#kueue-x-k8s-io-v1beta1-ClusterQueueStatus"><code>ClusterQueueStatus</code></a> 81 </td> 82 <td> 83 <span class="text-muted">No description provided.</span></td> 84 </tr> 85 </tbody> 86 </table> 87 88 ## `LocalQueue` {#kueue-x-k8s-io-v1beta1-LocalQueue} 89 90 91 **Appears in:** 92 93 94 95 <p>LocalQueue is the Schema for the localQueues API</p> 96 97 98 <table class="table"> 99 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 100 <tbody> 101 102 <tr><td><code>apiVersion</code><br/>string</td><td><code>kueue.x-k8s.io/v1beta1</code></td></tr> 103 <tr><td><code>kind</code><br/>string</td><td><code>LocalQueue</code></td></tr> 104 105 106 <tr><td><code>spec</code> <B>[Required]</B><br/> 107 <a href="#kueue-x-k8s-io-v1beta1-LocalQueueSpec"><code>LocalQueueSpec</code></a> 108 </td> 109 <td> 110 <span class="text-muted">No description provided.</span></td> 111 </tr> 112 <tr><td><code>status</code> <B>[Required]</B><br/> 113 <a href="#kueue-x-k8s-io-v1beta1-LocalQueueStatus"><code>LocalQueueStatus</code></a> 114 </td> 115 <td> 116 <span class="text-muted">No description provided.</span></td> 117 </tr> 118 </tbody> 119 </table> 120 121 ## `ProvisioningRequestConfig` {#kueue-x-k8s-io-v1beta1-ProvisioningRequestConfig} 122 123 124 **Appears in:** 125 126 127 128 <p>ProvisioningRequestConfig is the Schema for the provisioningrequestconfig API</p> 129 130 131 <table class="table"> 132 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 133 <tbody> 134 135 <tr><td><code>apiVersion</code><br/>string</td><td><code>kueue.x-k8s.io/v1beta1</code></td></tr> 136 <tr><td><code>kind</code><br/>string</td><td><code>ProvisioningRequestConfig</code></td></tr> 137 138 139 <tr><td><code>spec</code> <B>[Required]</B><br/> 140 <a href="#kueue-x-k8s-io-v1beta1-ProvisioningRequestConfigSpec"><code>ProvisioningRequestConfigSpec</code></a> 141 </td> 142 <td> 143 <span class="text-muted">No description provided.</span></td> 144 </tr> 145 </tbody> 146 </table> 147 148 ## `ResourceFlavor` {#kueue-x-k8s-io-v1beta1-ResourceFlavor} 149 150 151 **Appears in:** 152 153 154 155 <p>ResourceFlavor is the Schema for the resourceflavors API.</p> 156 157 158 <table class="table"> 159 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 160 <tbody> 161 162 <tr><td><code>apiVersion</code><br/>string</td><td><code>kueue.x-k8s.io/v1beta1</code></td></tr> 163 <tr><td><code>kind</code><br/>string</td><td><code>ResourceFlavor</code></td></tr> 164 165 166 <tr><td><code>spec</code> <B>[Required]</B><br/> 167 <a href="#kueue-x-k8s-io-v1beta1-ResourceFlavorSpec"><code>ResourceFlavorSpec</code></a> 168 </td> 169 <td> 170 <span class="text-muted">No description provided.</span></td> 171 </tr> 172 </tbody> 173 </table> 174 175 ## `Workload` {#kueue-x-k8s-io-v1beta1-Workload} 176 177 178 **Appears in:** 179 180 181 182 <p>Workload is the Schema for the workloads API</p> 183 184 185 <table class="table"> 186 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 187 <tbody> 188 189 <tr><td><code>apiVersion</code><br/>string</td><td><code>kueue.x-k8s.io/v1beta1</code></td></tr> 190 <tr><td><code>kind</code><br/>string</td><td><code>Workload</code></td></tr> 191 192 193 <tr><td><code>spec</code> <B>[Required]</B><br/> 194 <a href="#kueue-x-k8s-io-v1beta1-WorkloadSpec"><code>WorkloadSpec</code></a> 195 </td> 196 <td> 197 <span class="text-muted">No description provided.</span></td> 198 </tr> 199 <tr><td><code>status</code> <B>[Required]</B><br/> 200 <a href="#kueue-x-k8s-io-v1beta1-WorkloadStatus"><code>WorkloadStatus</code></a> 201 </td> 202 <td> 203 <span class="text-muted">No description provided.</span></td> 204 </tr> 205 </tbody> 206 </table> 207 208 ## `WorkloadPriorityClass` {#kueue-x-k8s-io-v1beta1-WorkloadPriorityClass} 209 210 211 **Appears in:** 212 213 214 215 <p>WorkloadPriorityClass is the Schema for the workloadPriorityClass API</p> 216 217 218 <table class="table"> 219 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 220 <tbody> 221 222 <tr><td><code>apiVersion</code><br/>string</td><td><code>kueue.x-k8s.io/v1beta1</code></td></tr> 223 <tr><td><code>kind</code><br/>string</td><td><code>WorkloadPriorityClass</code></td></tr> 224 225 226 <tr><td><code>value</code> <B>[Required]</B><br/> 227 <code>int32</code> 228 </td> 229 <td> 230 <p>value represents the integer value of this workloadPriorityClass. This is the actual priority that workloads 231 receive when jobs have the name of this class in their workloadPriorityClass label. 232 Changing the value of workloadPriorityClass doesn't affect the priority of workloads that were already created.</p> 233 </td> 234 </tr> 235 <tr><td><code>description</code><br/> 236 <code>string</code> 237 </td> 238 <td> 239 <p>description is an arbitrary string that usually provides guidelines on 240 when this workloadPriorityClass should be used.</p> 241 </td> 242 </tr> 243 </tbody> 244 </table> 245 246 ## `Admission` {#kueue-x-k8s-io-v1beta1-Admission} 247 248 249 **Appears in:** 250 251 - [WorkloadStatus](#kueue-x-k8s-io-v1beta1-WorkloadStatus) 252 253 254 255 <table class="table"> 256 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 257 <tbody> 258 259 260 <tr><td><code>clusterQueue</code> <B>[Required]</B><br/> 261 <a href="#kueue-x-k8s-io-v1beta1-ClusterQueueReference"><code>ClusterQueueReference</code></a> 262 </td> 263 <td> 264 <p>clusterQueue is the name of the ClusterQueue that admitted this workload.</p> 265 </td> 266 </tr> 267 <tr><td><code>podSetAssignments</code> <B>[Required]</B><br/> 268 <a href="#kueue-x-k8s-io-v1beta1-PodSetAssignment"><code>[]PodSetAssignment</code></a> 269 </td> 270 <td> 271 <p>PodSetAssignments hold the admission results for each of the .spec.podSets entries.</p> 272 </td> 273 </tr> 274 </tbody> 275 </table> 276 277 ## `AdmissionCheckParametersReference` {#kueue-x-k8s-io-v1beta1-AdmissionCheckParametersReference} 278 279 280 **Appears in:** 281 282 - [AdmissionCheckSpec](#kueue-x-k8s-io-v1beta1-AdmissionCheckSpec) 283 284 285 286 <table class="table"> 287 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 288 <tbody> 289 290 291 <tr><td><code>apiGroup</code> <B>[Required]</B><br/> 292 <code>string</code> 293 </td> 294 <td> 295 <p>ApiGroup is the group for the resource being referenced.</p> 296 </td> 297 </tr> 298 <tr><td><code>kind</code> <B>[Required]</B><br/> 299 <code>string</code> 300 </td> 301 <td> 302 <p>Kind is the type of the resource being referenced.</p> 303 </td> 304 </tr> 305 <tr><td><code>name</code> <B>[Required]</B><br/> 306 <code>string</code> 307 </td> 308 <td> 309 <p>Name is the name of the resource being referenced.</p> 310 </td> 311 </tr> 312 </tbody> 313 </table> 314 315 ## `AdmissionCheckSpec` {#kueue-x-k8s-io-v1beta1-AdmissionCheckSpec} 316 317 318 **Appears in:** 319 320 - [AdmissionCheck](#kueue-x-k8s-io-v1beta1-AdmissionCheck) 321 322 323 <p>AdmissionCheckSpec defines the desired state of AdmissionCheck</p> 324 325 326 <table class="table"> 327 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 328 <tbody> 329 330 331 <tr><td><code>controllerName</code> <B>[Required]</B><br/> 332 <code>string</code> 333 </td> 334 <td> 335 <p>controllerName is name of the controller which will actually perform 336 the checks. This is the name with which controller identifies with, 337 not necessarily a K8S Pod or Deployment name. Cannot be empty.</p> 338 </td> 339 </tr> 340 <tr><td><code>retryDelayMinutes</code><br/> 341 <code>int64</code> 342 </td> 343 <td> 344 <p>RetryDelayMinutes specifies how long to keep the workload suspended 345 after a failed check (after it transitioned to False). 346 After that the check state goes to "Unknown". 347 The default is 15 min.</p> 348 </td> 349 </tr> 350 <tr><td><code>parameters</code><br/> 351 <a href="#kueue-x-k8s-io-v1beta1-AdmissionCheckParametersReference"><code>AdmissionCheckParametersReference</code></a> 352 </td> 353 <td> 354 <p>Parameters identifies the resource providing additional check parameters.</p> 355 </td> 356 </tr> 357 </tbody> 358 </table> 359 360 ## `AdmissionCheckState` {#kueue-x-k8s-io-v1beta1-AdmissionCheckState} 361 362 363 **Appears in:** 364 365 - [WorkloadStatus](#kueue-x-k8s-io-v1beta1-WorkloadStatus) 366 367 368 369 <table class="table"> 370 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 371 <tbody> 372 373 374 <tr><td><code>name</code> <B>[Required]</B><br/> 375 <code>string</code> 376 </td> 377 <td> 378 <p>name identifies the admission check.</p> 379 </td> 380 </tr> 381 <tr><td><code>state</code> <B>[Required]</B><br/> 382 <a href="#kueue-x-k8s-io-v1beta1-CheckState"><code>CheckState</code></a> 383 </td> 384 <td> 385 <p>state of the admissionCheck, one of Pending, Ready, Retry, Rejected</p> 386 </td> 387 </tr> 388 <tr><td><code>lastTransitionTime</code> <B>[Required]</B><br/> 389 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta"><code>k8s.io/apimachinery/pkg/apis/meta/v1.Time</code></a> 390 </td> 391 <td> 392 <p>lastTransitionTime is the last time the condition transitioned from one status to another. 393 This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.</p> 394 </td> 395 </tr> 396 <tr><td><code>message</code> <B>[Required]</B><br/> 397 <code>string</code> 398 </td> 399 <td> 400 <p>message is a human readable message indicating details about the transition. 401 This may be an empty string.</p> 402 </td> 403 </tr> 404 <tr><td><code>podSetUpdates</code><br/> 405 <a href="#kueue-x-k8s-io-v1beta1-PodSetUpdate"><code>[]PodSetUpdate</code></a> 406 </td> 407 <td> 408 <span class="text-muted">No description provided.</span></td> 409 </tr> 410 </tbody> 411 </table> 412 413 ## `AdmissionCheckStatus` {#kueue-x-k8s-io-v1beta1-AdmissionCheckStatus} 414 415 416 **Appears in:** 417 418 - [AdmissionCheck](#kueue-x-k8s-io-v1beta1-AdmissionCheck) 419 420 421 <p>AdmissionCheckStatus defines the observed state of AdmissionCheck</p> 422 423 424 <table class="table"> 425 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 426 <tbody> 427 428 429 <tr><td><code>conditions</code><br/> 430 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#condition-v1-meta"><code>[]k8s.io/apimachinery/pkg/apis/meta/v1.Condition</code></a> 431 </td> 432 <td> 433 <p>conditions hold the latest available observations of the AdmissionCheck 434 current state.</p> 435 </td> 436 </tr> 437 </tbody> 438 </table> 439 440 ## `BorrowWithinCohort` {#kueue-x-k8s-io-v1beta1-BorrowWithinCohort} 441 442 443 **Appears in:** 444 445 - [ClusterQueuePreemption](#kueue-x-k8s-io-v1beta1-ClusterQueuePreemption) 446 447 448 <p>BorrowWithinCohort contains configuration which allows to preempt workloads 449 within cohort while borrowing.</p> 450 451 452 <table class="table"> 453 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 454 <tbody> 455 456 457 <tr><td><code>policy</code> <B>[Required]</B><br/> 458 <a href="#kueue-x-k8s-io-v1beta1-BorrowWithinCohortPolicy"><code>BorrowWithinCohortPolicy</code></a> 459 </td> 460 <td> 461 <p>policy determines the policy for preemption to reclaim quota within cohort while borrowing. 462 Possible values are:</p> 463 <ul> 464 <li><code>Never</code> (default): do not allow for preemption, in other 465 ClusterQueues within the cohort, for a borrowing workload.</li> 466 <li><code>LowerPriority</code>: allow preemption, in other ClusterQueues 467 within the cohort, for a borrowing workload, but only if 468 the preempted workloads are of lower priority.</li> 469 </ul> 470 </td> 471 </tr> 472 <tr><td><code>maxPriorityThreshold</code><br/> 473 <code>int32</code> 474 </td> 475 <td> 476 <p>maxPriorityThreshold allows to restrict the set of workloads which 477 might be preempted by a borrowing workload, to only workloads with 478 priority less than or equal to the specified threshold priority. 479 When the threshold is not specified, then any workload satisfying the 480 policy can be preempted by the borrowing workload.</p> 481 </td> 482 </tr> 483 </tbody> 484 </table> 485 486 ## `BorrowWithinCohortPolicy` {#kueue-x-k8s-io-v1beta1-BorrowWithinCohortPolicy} 487 488 (Alias of `string`) 489 490 **Appears in:** 491 492 - [BorrowWithinCohort](#kueue-x-k8s-io-v1beta1-BorrowWithinCohort) 493 494 495 496 497 498 ## `CheckState` {#kueue-x-k8s-io-v1beta1-CheckState} 499 500 (Alias of `string`) 501 502 **Appears in:** 503 504 - [AdmissionCheckState](#kueue-x-k8s-io-v1beta1-AdmissionCheckState) 505 506 507 508 509 510 ## `ClusterQueuePendingWorkload` {#kueue-x-k8s-io-v1beta1-ClusterQueuePendingWorkload} 511 512 513 **Appears in:** 514 515 - [ClusterQueuePendingWorkloadsStatus](#kueue-x-k8s-io-v1beta1-ClusterQueuePendingWorkloadsStatus) 516 517 518 <p>ClusterQueuePendingWorkload contains the information identifying a pending workload 519 in the cluster queue.</p> 520 521 522 <table class="table"> 523 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 524 <tbody> 525 526 527 <tr><td><code>name</code> <B>[Required]</B><br/> 528 <code>string</code> 529 </td> 530 <td> 531 <p>Name indicates the name of the pending workload.</p> 532 </td> 533 </tr> 534 <tr><td><code>namespace</code> <B>[Required]</B><br/> 535 <code>string</code> 536 </td> 537 <td> 538 <p>Namespace indicates the name of the pending workload.</p> 539 </td> 540 </tr> 541 </tbody> 542 </table> 543 544 ## `ClusterQueuePendingWorkloadsStatus` {#kueue-x-k8s-io-v1beta1-ClusterQueuePendingWorkloadsStatus} 545 546 547 **Appears in:** 548 549 - [ClusterQueueStatus](#kueue-x-k8s-io-v1beta1-ClusterQueueStatus) 550 551 552 553 <table class="table"> 554 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 555 <tbody> 556 557 558 <tr><td><code>clusterQueuePendingWorkload</code><br/> 559 <a href="#kueue-x-k8s-io-v1beta1-ClusterQueuePendingWorkload"><code>[]ClusterQueuePendingWorkload</code></a> 560 </td> 561 <td> 562 <p>Head contains the list of top pending workloads.</p> 563 </td> 564 </tr> 565 <tr><td><code>lastChangeTime</code> <B>[Required]</B><br/> 566 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta"><code>k8s.io/apimachinery/pkg/apis/meta/v1.Time</code></a> 567 </td> 568 <td> 569 <p>LastChangeTime indicates the time of the last change of the structure.</p> 570 </td> 571 </tr> 572 </tbody> 573 </table> 574 575 ## `ClusterQueuePreemption` {#kueue-x-k8s-io-v1beta1-ClusterQueuePreemption} 576 577 578 **Appears in:** 579 580 - [ClusterQueueSpec](#kueue-x-k8s-io-v1beta1-ClusterQueueSpec) 581 582 583 <p>ClusterQueuePreemption contains policies to preempt Workloads from this 584 ClusterQueue or the ClusterQueue's cohort.</p> 585 586 587 <table class="table"> 588 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 589 <tbody> 590 591 592 <tr><td><code>reclaimWithinCohort</code> <B>[Required]</B><br/> 593 <a href="#kueue-x-k8s-io-v1beta1-PreemptionPolicy"><code>PreemptionPolicy</code></a> 594 </td> 595 <td> 596 <p>reclaimWithinCohort determines whether a pending Workload can preempt 597 Workloads from other ClusterQueues in the cohort that are using more than 598 their nominal quota. The possible values are:</p> 599 <ul> 600 <li><code>Never</code> (default): do not preempt Workloads in the cohort.</li> 601 <li><code>LowerPriority</code>: if the pending Workload fits within the nominal 602 quota of its ClusterQueue, only preempt Workloads in the cohort that have 603 lower priority than the pending Workload.</li> 604 <li><code>Any</code>: if the pending Workload fits within the nominal quota of its 605 ClusterQueue, preempt any Workload in the cohort, irrespective of 606 priority.</li> 607 </ul> 608 </td> 609 </tr> 610 <tr><td><code>borrowWithinCohort</code> <B>[Required]</B><br/> 611 <a href="#kueue-x-k8s-io-v1beta1-BorrowWithinCohort"><code>BorrowWithinCohort</code></a> 612 </td> 613 <td> 614 <p>borrowWithinCohort provides configuration to allow preemption within 615 cohort while borrowing.</p> 616 </td> 617 </tr> 618 <tr><td><code>withinClusterQueue</code> <B>[Required]</B><br/> 619 <a href="#kueue-x-k8s-io-v1beta1-PreemptionPolicy"><code>PreemptionPolicy</code></a> 620 </td> 621 <td> 622 <p>withinClusterQueue determines whether a pending Workload that doesn't fit 623 within the nominal quota for its ClusterQueue, can preempt active Workloads in 624 the ClusterQueue. The possible values are:</p> 625 <ul> 626 <li><code>Never</code> (default): do not preempt Workloads in the ClusterQueue.</li> 627 <li><code>LowerPriority</code>: only preempt Workloads in the ClusterQueue that have 628 lower priority than the pending Workload.</li> 629 <li><code>LowerOrNewerEqualPriority</code>: only preempt Workloads in the ClusterQueue that 630 either have a lower priority than the pending workload or equal priority 631 and are newer than the pending workload.</li> 632 </ul> 633 </td> 634 </tr> 635 </tbody> 636 </table> 637 638 ## `ClusterQueueReference` {#kueue-x-k8s-io-v1beta1-ClusterQueueReference} 639 640 (Alias of `string`) 641 642 **Appears in:** 643 644 - [Admission](#kueue-x-k8s-io-v1beta1-Admission) 645 646 - [LocalQueueSpec](#kueue-x-k8s-io-v1beta1-LocalQueueSpec) 647 648 649 <p>ClusterQueueReference is the name of the ClusterQueue.</p> 650 651 652 653 654 ## `ClusterQueueSpec` {#kueue-x-k8s-io-v1beta1-ClusterQueueSpec} 655 656 657 **Appears in:** 658 659 - [ClusterQueue](#kueue-x-k8s-io-v1beta1-ClusterQueue) 660 661 662 <p>ClusterQueueSpec defines the desired state of ClusterQueue</p> 663 664 665 <table class="table"> 666 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 667 <tbody> 668 669 670 <tr><td><code>resourceGroups</code> <B>[Required]</B><br/> 671 <a href="#kueue-x-k8s-io-v1beta1-ResourceGroup"><code>[]ResourceGroup</code></a> 672 </td> 673 <td> 674 <p>resourceGroups describes groups of resources. 675 Each resource group defines the list of resources and a list of flavors 676 that provide quotas for these resources. 677 Each resource and each flavor can only form part of one resource group. 678 resourceGroups can be up to 16.</p> 679 </td> 680 </tr> 681 <tr><td><code>cohort</code> <B>[Required]</B><br/> 682 <code>string</code> 683 </td> 684 <td> 685 <p>cohort that this ClusterQueue belongs to. CQs that belong to the 686 same cohort can borrow unused resources from each other.</p> 687 <p>A CQ can be a member of a single borrowing cohort. A workload submitted 688 to a queue referencing this CQ can borrow quota from any CQ in the cohort. 689 Only quota for the [resource, flavor] pairs listed in the CQ can be 690 borrowed. 691 If empty, this ClusterQueue cannot borrow from any other ClusterQueue and 692 vice versa.</p> 693 <p>A cohort is a name that links CQs together, but it doesn't reference any 694 object.</p> 695 <p>Validation of a cohort name is equivalent to that of object names: 696 subdomain in DNS (RFC 1123).</p> 697 </td> 698 </tr> 699 <tr><td><code>queueingStrategy</code> <B>[Required]</B><br/> 700 <a href="#kueue-x-k8s-io-v1beta1-QueueingStrategy"><code>QueueingStrategy</code></a> 701 </td> 702 <td> 703 <p>QueueingStrategy indicates the queueing strategy of the workloads 704 across the queues in this ClusterQueue. This field is immutable. 705 Current Supported Strategies:</p> 706 <ul> 707 <li>StrictFIFO: workloads are ordered strictly by creation time. 708 Older workloads that can't be admitted will block admitting newer 709 workloads even if they fit available quota.</li> 710 <li>BestEffortFIFO: workloads are ordered by creation time, 711 however older workloads that can't be admitted will not block 712 admitting newer workloads that fit existing quota.</li> 713 </ul> 714 </td> 715 </tr> 716 <tr><td><code>namespaceSelector</code> <B>[Required]</B><br/> 717 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#labelselector-v1-meta"><code>k8s.io/apimachinery/pkg/apis/meta/v1.LabelSelector</code></a> 718 </td> 719 <td> 720 <p>namespaceSelector defines which namespaces are allowed to submit workloads to 721 this clusterQueue. Beyond this basic support for policy, a policy agent like 722 Gatekeeper should be used to enforce more advanced policies. 723 Defaults to null which is a nothing selector (no namespaces eligible). 724 If set to an empty selector <code>{}</code>, then all namespaces are eligible.</p> 725 </td> 726 </tr> 727 <tr><td><code>flavorFungibility</code> <B>[Required]</B><br/> 728 <a href="#kueue-x-k8s-io-v1beta1-FlavorFungibility"><code>FlavorFungibility</code></a> 729 </td> 730 <td> 731 <p>flavorFungibility defines whether a workload should try the next flavor 732 before borrowing or preempting in the flavor being evaluated.</p> 733 </td> 734 </tr> 735 <tr><td><code>preemption</code> <B>[Required]</B><br/> 736 <a href="#kueue-x-k8s-io-v1beta1-ClusterQueuePreemption"><code>ClusterQueuePreemption</code></a> 737 </td> 738 <td> 739 <p>preemption describes policies to preempt Workloads from this ClusterQueue 740 or the ClusterQueue's cohort.</p> 741 <p>Preemption can happen in two scenarios:</p> 742 <ul> 743 <li>When a Workload fits within the nominal quota of the ClusterQueue, but 744 the quota is currently borrowed by other ClusterQueues in the cohort. 745 Preempting Workloads in other ClusterQueues allows this ClusterQueue to 746 reclaim its nominal quota.</li> 747 <li>When a Workload doesn't fit within the nominal quota of the ClusterQueue 748 and there are admitted Workloads in the ClusterQueue with lower priority.</li> 749 </ul> 750 <p>The preemption algorithm tries to find a minimal set of Workloads to 751 preempt to accomomdate the pending Workload, preempting Workloads with 752 lower priority first.</p> 753 </td> 754 </tr> 755 <tr><td><code>admissionChecks</code><br/> 756 <code>[]string</code> 757 </td> 758 <td> 759 <p>admissionChecks lists the AdmissionChecks required by this ClusterQueue</p> 760 </td> 761 </tr> 762 <tr><td><code>stopPolicy</code><br/> 763 <a href="#kueue-x-k8s-io-v1beta1-StopPolicy"><code>StopPolicy</code></a> 764 </td> 765 <td> 766 <p>stopPolicy - if set to a value different from None, the ClusterQueue is considered Inactive, no new reservation being 767 made.</p> 768 <p>Depending on its value, its associated workloads will:</p> 769 <ul> 770 <li>None - Workloads are admitted</li> 771 <li>HoldAndDrain - Admitted workloads are evicted and Reserving workloads will cancel the reservation.</li> 772 <li>Hold - Admitted workloads will run to completion and Reserving workloads will cancel the reservation.</li> 773 </ul> 774 </td> 775 </tr> 776 </tbody> 777 </table> 778 779 ## `ClusterQueueStatus` {#kueue-x-k8s-io-v1beta1-ClusterQueueStatus} 780 781 782 **Appears in:** 783 784 - [ClusterQueue](#kueue-x-k8s-io-v1beta1-ClusterQueue) 785 786 787 <p>ClusterQueueStatus defines the observed state of ClusterQueue</p> 788 789 790 <table class="table"> 791 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 792 <tbody> 793 794 795 <tr><td><code>flavorsReservation</code><br/> 796 <a href="#kueue-x-k8s-io-v1beta1-FlavorUsage"><code>[]FlavorUsage</code></a> 797 </td> 798 <td> 799 <p>flavorsReservation are the reserved quotas, by flavor, currently in use by the 800 workloads assigned to this ClusterQueue.</p> 801 </td> 802 </tr> 803 <tr><td><code>flavorsUsage</code><br/> 804 <a href="#kueue-x-k8s-io-v1beta1-FlavorUsage"><code>[]FlavorUsage</code></a> 805 </td> 806 <td> 807 <p>flavorsUsage are the used quotas, by flavor, currently in use by the 808 workloads admitted in this ClusterQueue.</p> 809 </td> 810 </tr> 811 <tr><td><code>pendingWorkloads</code><br/> 812 <code>int32</code> 813 </td> 814 <td> 815 <p>pendingWorkloads is the number of workloads currently waiting to be 816 admitted to this clusterQueue.</p> 817 </td> 818 </tr> 819 <tr><td><code>reservingWorkloads</code><br/> 820 <code>int32</code> 821 </td> 822 <td> 823 <p>reservingWorkloads is the number of workloads currently reserving quota in this 824 clusterQueue.</p> 825 </td> 826 </tr> 827 <tr><td><code>admittedWorkloads</code><br/> 828 <code>int32</code> 829 </td> 830 <td> 831 <p>admittedWorkloads is the number of workloads currently admitted to this 832 clusterQueue and haven't finished yet.</p> 833 </td> 834 </tr> 835 <tr><td><code>conditions</code><br/> 836 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#condition-v1-meta"><code>[]k8s.io/apimachinery/pkg/apis/meta/v1.Condition</code></a> 837 </td> 838 <td> 839 <p>conditions hold the latest available observations of the ClusterQueue 840 current state.</p> 841 </td> 842 </tr> 843 <tr><td><code>pendingWorkloadsStatus</code><br/> 844 <a href="#kueue-x-k8s-io-v1beta1-ClusterQueuePendingWorkloadsStatus"><code>ClusterQueuePendingWorkloadsStatus</code></a> 845 </td> 846 <td> 847 <p>PendingWorkloadsStatus contains the information exposed about the current 848 status of the pending workloads in the cluster queue.</p> 849 </td> 850 </tr> 851 </tbody> 852 </table> 853 854 ## `FlavorFungibility` {#kueue-x-k8s-io-v1beta1-FlavorFungibility} 855 856 857 **Appears in:** 858 859 - [ClusterQueueSpec](#kueue-x-k8s-io-v1beta1-ClusterQueueSpec) 860 861 862 <p>FlavorFungibility determines whether a workload should try the next flavor 863 before borrowing or preempting in current flavor.</p> 864 865 866 <table class="table"> 867 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 868 <tbody> 869 870 871 <tr><td><code>whenCanBorrow</code> <B>[Required]</B><br/> 872 <a href="#kueue-x-k8s-io-v1beta1-FlavorFungibilityPolicy"><code>FlavorFungibilityPolicy</code></a> 873 </td> 874 <td> 875 <p>whenCanBorrow determines whether a workload should try the next flavor 876 before borrowing in current flavor. The possible values are:</p> 877 <ul> 878 <li><code>Borrow</code> (default): allocate in current flavor if borrowing 879 is possible.</li> 880 <li><code>TryNextFlavor</code>: try next flavor even if the current 881 flavor has enough resources to borrow.</li> 882 </ul> 883 </td> 884 </tr> 885 <tr><td><code>whenCanPreempt</code> <B>[Required]</B><br/> 886 <a href="#kueue-x-k8s-io-v1beta1-FlavorFungibilityPolicy"><code>FlavorFungibilityPolicy</code></a> 887 </td> 888 <td> 889 <p>whenCanPreempt determines whether a workload should try the next flavor 890 before borrowing in current flavor. The possible values are:</p> 891 <ul> 892 <li><code>Preempt</code>: allocate in current flavor if it's possible to preempt some workloads.</li> 893 <li><code>TryNextFlavor</code> (default): try next flavor even if there are enough 894 candidates for preemption in the current flavor.</li> 895 </ul> 896 </td> 897 </tr> 898 </tbody> 899 </table> 900 901 ## `FlavorFungibilityPolicy` {#kueue-x-k8s-io-v1beta1-FlavorFungibilityPolicy} 902 903 (Alias of `string`) 904 905 **Appears in:** 906 907 - [FlavorFungibility](#kueue-x-k8s-io-v1beta1-FlavorFungibility) 908 909 910 911 912 913 ## `FlavorQuotas` {#kueue-x-k8s-io-v1beta1-FlavorQuotas} 914 915 916 **Appears in:** 917 918 - [ResourceGroup](#kueue-x-k8s-io-v1beta1-ResourceGroup) 919 920 921 922 <table class="table"> 923 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 924 <tbody> 925 926 927 <tr><td><code>name</code> <B>[Required]</B><br/> 928 <a href="#kueue-x-k8s-io-v1beta1-ResourceFlavorReference"><code>ResourceFlavorReference</code></a> 929 </td> 930 <td> 931 <p>name of this flavor. The name should match the .metadata.name of a 932 ResourceFlavor. If a matching ResourceFlavor does not exist, the 933 ClusterQueue will have an Active condition set to False.</p> 934 </td> 935 </tr> 936 <tr><td><code>resources</code> <B>[Required]</B><br/> 937 <a href="#kueue-x-k8s-io-v1beta1-ResourceQuota"><code>[]ResourceQuota</code></a> 938 </td> 939 <td> 940 <p>resources is the list of quotas for this flavor per resource. 941 There could be up to 16 resources.</p> 942 </td> 943 </tr> 944 </tbody> 945 </table> 946 947 ## `FlavorUsage` {#kueue-x-k8s-io-v1beta1-FlavorUsage} 948 949 950 **Appears in:** 951 952 - [ClusterQueueStatus](#kueue-x-k8s-io-v1beta1-ClusterQueueStatus) 953 954 955 956 <table class="table"> 957 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 958 <tbody> 959 960 961 <tr><td><code>name</code> <B>[Required]</B><br/> 962 <a href="#kueue-x-k8s-io-v1beta1-ResourceFlavorReference"><code>ResourceFlavorReference</code></a> 963 </td> 964 <td> 965 <p>name of the flavor.</p> 966 </td> 967 </tr> 968 <tr><td><code>resources</code> <B>[Required]</B><br/> 969 <a href="#kueue-x-k8s-io-v1beta1-ResourceUsage"><code>[]ResourceUsage</code></a> 970 </td> 971 <td> 972 <p>resources lists the quota usage for the resources in this flavor.</p> 973 </td> 974 </tr> 975 </tbody> 976 </table> 977 978 ## `LocalQueueFlavorUsage` {#kueue-x-k8s-io-v1beta1-LocalQueueFlavorUsage} 979 980 981 **Appears in:** 982 983 - [LocalQueueStatus](#kueue-x-k8s-io-v1beta1-LocalQueueStatus) 984 985 986 987 <table class="table"> 988 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 989 <tbody> 990 991 992 <tr><td><code>name</code> <B>[Required]</B><br/> 993 <a href="#kueue-x-k8s-io-v1beta1-ResourceFlavorReference"><code>ResourceFlavorReference</code></a> 994 </td> 995 <td> 996 <p>name of the flavor.</p> 997 </td> 998 </tr> 999 <tr><td><code>resources</code> <B>[Required]</B><br/> 1000 <a href="#kueue-x-k8s-io-v1beta1-LocalQueueResourceUsage"><code>[]LocalQueueResourceUsage</code></a> 1001 </td> 1002 <td> 1003 <p>resources lists the quota usage for the resources in this flavor.</p> 1004 </td> 1005 </tr> 1006 </tbody> 1007 </table> 1008 1009 ## `LocalQueueResourceUsage` {#kueue-x-k8s-io-v1beta1-LocalQueueResourceUsage} 1010 1011 1012 **Appears in:** 1013 1014 - [LocalQueueFlavorUsage](#kueue-x-k8s-io-v1beta1-LocalQueueFlavorUsage) 1015 1016 1017 1018 <table class="table"> 1019 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1020 <tbody> 1021 1022 1023 <tr><td><code>name</code> <B>[Required]</B><br/> 1024 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcename-v1-core"><code>k8s.io/api/core/v1.ResourceName</code></a> 1025 </td> 1026 <td> 1027 <p>name of the resource.</p> 1028 </td> 1029 </tr> 1030 <tr><td><code>total</code> <B>[Required]</B><br/> 1031 <a href="https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity"><code>k8s.io/apimachinery/pkg/api/resource.Quantity</code></a> 1032 </td> 1033 <td> 1034 <p>total is the total quantity of used quota.</p> 1035 </td> 1036 </tr> 1037 </tbody> 1038 </table> 1039 1040 ## `LocalQueueSpec` {#kueue-x-k8s-io-v1beta1-LocalQueueSpec} 1041 1042 1043 **Appears in:** 1044 1045 - [LocalQueue](#kueue-x-k8s-io-v1beta1-LocalQueue) 1046 1047 1048 <p>LocalQueueSpec defines the desired state of LocalQueue</p> 1049 1050 1051 <table class="table"> 1052 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1053 <tbody> 1054 1055 1056 <tr><td><code>clusterQueue</code> <B>[Required]</B><br/> 1057 <a href="#kueue-x-k8s-io-v1beta1-ClusterQueueReference"><code>ClusterQueueReference</code></a> 1058 </td> 1059 <td> 1060 <p>clusterQueue is a reference to a clusterQueue that backs this localQueue.</p> 1061 </td> 1062 </tr> 1063 </tbody> 1064 </table> 1065 1066 ## `LocalQueueStatus` {#kueue-x-k8s-io-v1beta1-LocalQueueStatus} 1067 1068 1069 **Appears in:** 1070 1071 - [LocalQueue](#kueue-x-k8s-io-v1beta1-LocalQueue) 1072 1073 1074 <p>LocalQueueStatus defines the observed state of LocalQueue</p> 1075 1076 1077 <table class="table"> 1078 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1079 <tbody> 1080 1081 1082 <tr><td><code>pendingWorkloads</code><br/> 1083 <code>int32</code> 1084 </td> 1085 <td> 1086 <p>PendingWorkloads is the number of Workloads in the LocalQueue not yet admitted to a ClusterQueue</p> 1087 </td> 1088 </tr> 1089 <tr><td><code>reservingWorkloads</code><br/> 1090 <code>int32</code> 1091 </td> 1092 <td> 1093 <p>reservingWorkloads is the number of workloads in this LocalQueue 1094 reserving quota in a ClusterQueue and that haven't finished yet.</p> 1095 </td> 1096 </tr> 1097 <tr><td><code>admittedWorkloads</code><br/> 1098 <code>int32</code> 1099 </td> 1100 <td> 1101 <p>admittedWorkloads is the number of workloads in this LocalQueue 1102 admitted to a ClusterQueue and that haven't finished yet.</p> 1103 </td> 1104 </tr> 1105 <tr><td><code>conditions</code><br/> 1106 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#condition-v1-meta"><code>[]k8s.io/apimachinery/pkg/apis/meta/v1.Condition</code></a> 1107 </td> 1108 <td> 1109 <p>Conditions hold the latest available observations of the LocalQueue 1110 current state.</p> 1111 </td> 1112 </tr> 1113 <tr><td><code>flavorsReservation</code><br/> 1114 <a href="#kueue-x-k8s-io-v1beta1-LocalQueueFlavorUsage"><code>[]LocalQueueFlavorUsage</code></a> 1115 </td> 1116 <td> 1117 <p>flavorsReservation are the reserved quotas, by flavor currently in use by the 1118 workloads assigned to this LocalQueue.</p> 1119 </td> 1120 </tr> 1121 <tr><td><code>flavorUsage</code><br/> 1122 <a href="#kueue-x-k8s-io-v1beta1-LocalQueueFlavorUsage"><code>[]LocalQueueFlavorUsage</code></a> 1123 </td> 1124 <td> 1125 <p>flavorsUsage are the used quotas, by flavor currently in use by the 1126 workloads assigned to this LocalQueue.</p> 1127 </td> 1128 </tr> 1129 </tbody> 1130 </table> 1131 1132 ## `Parameter` {#kueue-x-k8s-io-v1beta1-Parameter} 1133 1134 (Alias of `string`) 1135 1136 **Appears in:** 1137 1138 - [ProvisioningRequestConfigSpec](#kueue-x-k8s-io-v1beta1-ProvisioningRequestConfigSpec) 1139 1140 1141 <p>Parameter is limited to 255 characters.</p> 1142 1143 1144 1145 1146 ## `PodSet` {#kueue-x-k8s-io-v1beta1-PodSet} 1147 1148 1149 **Appears in:** 1150 1151 - [WorkloadSpec](#kueue-x-k8s-io-v1beta1-WorkloadSpec) 1152 1153 1154 1155 <table class="table"> 1156 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1157 <tbody> 1158 1159 1160 <tr><td><code>name</code> <B>[Required]</B><br/> 1161 <code>string</code> 1162 </td> 1163 <td> 1164 <p>name is the PodSet name.</p> 1165 </td> 1166 </tr> 1167 <tr><td><code>template</code> <B>[Required]</B><br/> 1168 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#podtemplatespec-v1-core"><code>k8s.io/api/core/v1.PodTemplateSpec</code></a> 1169 </td> 1170 <td> 1171 <p>template is the Pod template.</p> 1172 <p>The only allowed fields in template.metadata are labels and annotations.</p> 1173 <p>If requests are omitted for a container or initContainer, 1174 they default to the limits if they are explicitly specified for the 1175 container or initContainer.</p> 1176 <p>During admission, the rules in nodeSelector and 1177 nodeAffinity.requiredDuringSchedulingIgnoredDuringExecution that match 1178 the keys in the nodeLabels from the ResourceFlavors considered for this 1179 Workload are used to filter the ResourceFlavors that can be assigned to 1180 this podSet.</p> 1181 </td> 1182 </tr> 1183 <tr><td><code>count</code> <B>[Required]</B><br/> 1184 <code>int32</code> 1185 </td> 1186 <td> 1187 <p>count is the number of pods for the spec.</p> 1188 </td> 1189 </tr> 1190 <tr><td><code>minCount</code><br/> 1191 <code>int32</code> 1192 </td> 1193 <td> 1194 <p>minCount is the minimum number of pods for the spec acceptable 1195 if the workload supports partial admission.</p> 1196 <p>If not provided, partial admission for the current PodSet is not 1197 enabled.</p> 1198 <p>Only one podSet within the workload can use this.</p> 1199 <p>This is an alpha field and requires enabling PartialAdmission feature gate.</p> 1200 </td> 1201 </tr> 1202 </tbody> 1203 </table> 1204 1205 ## `PodSetAssignment` {#kueue-x-k8s-io-v1beta1-PodSetAssignment} 1206 1207 1208 **Appears in:** 1209 1210 - [Admission](#kueue-x-k8s-io-v1beta1-Admission) 1211 1212 1213 1214 <table class="table"> 1215 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1216 <tbody> 1217 1218 1219 <tr><td><code>name</code> <B>[Required]</B><br/> 1220 <code>string</code> 1221 </td> 1222 <td> 1223 <p>Name is the name of the podSet. It should match one of the names in .spec.podSets.</p> 1224 </td> 1225 </tr> 1226 <tr><td><code>flavors</code> <B>[Required]</B><br/> 1227 <a href="#kueue-x-k8s-io-v1beta1-ResourceFlavorReference"><code>map[ResourceName]ResourceFlavorReference</code></a> 1228 </td> 1229 <td> 1230 <p>Flavors are the flavors assigned to the workload for each resource.</p> 1231 </td> 1232 </tr> 1233 <tr><td><code>resourceUsage</code> <B>[Required]</B><br/> 1234 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcelist-v1-core"><code>k8s.io/api/core/v1.ResourceList</code></a> 1235 </td> 1236 <td> 1237 <p>resourceUsage keeps track of the total resources all the pods in the podset need to run.</p> 1238 <p>Beside what is provided in podSet's specs, this calculation takes into account 1239 the LimitRange defaults and RuntimeClass overheads at the moment of admission. 1240 This field will not change in case of quota reclaim.</p> 1241 </td> 1242 </tr> 1243 <tr><td><code>count</code><br/> 1244 <code>int32</code> 1245 </td> 1246 <td> 1247 <p>count is the number of pods taken into account at admission time. 1248 This field will not change in case of quota reclaim. 1249 Value could be missing for Workloads created before this field was added, 1250 in that case spec.podSets[*].count value will be used.</p> 1251 </td> 1252 </tr> 1253 </tbody> 1254 </table> 1255 1256 ## `PodSetUpdate` {#kueue-x-k8s-io-v1beta1-PodSetUpdate} 1257 1258 1259 **Appears in:** 1260 1261 - [AdmissionCheckState](#kueue-x-k8s-io-v1beta1-AdmissionCheckState) 1262 1263 1264 <p>PodSetUpdate contains a list of pod set modifications suggested by AdmissionChecks. 1265 The modifications should be additive only - modifications of already existing keys 1266 or having the same key provided by multiple AdmissionChecks is not allowed and will 1267 result in failure during workload admission.</p> 1268 1269 1270 <table class="table"> 1271 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1272 <tbody> 1273 1274 1275 <tr><td><code>name</code> <B>[Required]</B><br/> 1276 <code>string</code> 1277 </td> 1278 <td> 1279 <p>Name of the PodSet to modify. Should match to one of the Workload's PodSets.</p> 1280 </td> 1281 </tr> 1282 <tr><td><code>labels</code><br/> 1283 <code>map[string]string</code> 1284 </td> 1285 <td> 1286 <span class="text-muted">No description provided.</span></td> 1287 </tr> 1288 <tr><td><code>annotations</code><br/> 1289 <code>map[string]string</code> 1290 </td> 1291 <td> 1292 <span class="text-muted">No description provided.</span></td> 1293 </tr> 1294 <tr><td><code>nodeSelector</code><br/> 1295 <code>map[string]string</code> 1296 </td> 1297 <td> 1298 <span class="text-muted">No description provided.</span></td> 1299 </tr> 1300 <tr><td><code>tolerations</code><br/> 1301 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#toleration-v1-core"><code>[]k8s.io/api/core/v1.Toleration</code></a> 1302 </td> 1303 <td> 1304 <span class="text-muted">No description provided.</span></td> 1305 </tr> 1306 </tbody> 1307 </table> 1308 1309 ## `PreemptionPolicy` {#kueue-x-k8s-io-v1beta1-PreemptionPolicy} 1310 1311 (Alias of `string`) 1312 1313 **Appears in:** 1314 1315 - [ClusterQueuePreemption](#kueue-x-k8s-io-v1beta1-ClusterQueuePreemption) 1316 1317 1318 1319 1320 1321 ## `ProvisioningRequestConfigSpec` {#kueue-x-k8s-io-v1beta1-ProvisioningRequestConfigSpec} 1322 1323 1324 **Appears in:** 1325 1326 - [ProvisioningRequestConfig](#kueue-x-k8s-io-v1beta1-ProvisioningRequestConfig) 1327 1328 1329 <p>ProvisioningRequestConfigSpec defines the desired state of ProvisioningRequestConfig</p> 1330 1331 1332 <table class="table"> 1333 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1334 <tbody> 1335 1336 1337 <tr><td><code>provisioningClassName</code> <B>[Required]</B><br/> 1338 <code>string</code> 1339 </td> 1340 <td> 1341 <p>ProvisioningClassName describes the different modes of provisioning the resources. 1342 Check autoscaling.x-k8s.io ProvisioningRequestSpec.ProvisioningClassName for details.</p> 1343 </td> 1344 </tr> 1345 <tr><td><code>parameters</code><br/> 1346 <a href="#kueue-x-k8s-io-v1beta1-Parameter"><code>map[string]Parameter</code></a> 1347 </td> 1348 <td> 1349 <p>Parameters contains all other parameters classes may require.</p> 1350 </td> 1351 </tr> 1352 <tr><td><code>managedResources</code><br/> 1353 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcename-v1-core"><code>[]k8s.io/api/core/v1.ResourceName</code></a> 1354 </td> 1355 <td> 1356 <p>managedResources contains the list of resources managed by the autoscaling.</p> 1357 <p>If empty, all resources are considered managed.</p> 1358 <p>If not empty, the ProvisioningRequest will contain only the podsets that are 1359 requesting at least one of them.</p> 1360 <p>If none of the workloads podsets is requesting at least a managed resource, 1361 the workload is considered ready.</p> 1362 </td> 1363 </tr> 1364 </tbody> 1365 </table> 1366 1367 ## `QueueingStrategy` {#kueue-x-k8s-io-v1beta1-QueueingStrategy} 1368 1369 (Alias of `string`) 1370 1371 **Appears in:** 1372 1373 - [ClusterQueueSpec](#kueue-x-k8s-io-v1beta1-ClusterQueueSpec) 1374 1375 1376 1377 1378 1379 ## `ReclaimablePod` {#kueue-x-k8s-io-v1beta1-ReclaimablePod} 1380 1381 1382 **Appears in:** 1383 1384 - [WorkloadStatus](#kueue-x-k8s-io-v1beta1-WorkloadStatus) 1385 1386 1387 1388 <table class="table"> 1389 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1390 <tbody> 1391 1392 1393 <tr><td><code>name</code> <B>[Required]</B><br/> 1394 <code>string</code> 1395 </td> 1396 <td> 1397 <p>name is the PodSet name.</p> 1398 </td> 1399 </tr> 1400 <tr><td><code>count</code> <B>[Required]</B><br/> 1401 <code>int32</code> 1402 </td> 1403 <td> 1404 <p>count is the number of pods for which the requested resources are no longer needed.</p> 1405 </td> 1406 </tr> 1407 </tbody> 1408 </table> 1409 1410 ## `RequeueState` {#kueue-x-k8s-io-v1beta1-RequeueState} 1411 1412 1413 **Appears in:** 1414 1415 - [WorkloadStatus](#kueue-x-k8s-io-v1beta1-WorkloadStatus) 1416 1417 1418 1419 <table class="table"> 1420 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1421 <tbody> 1422 1423 1424 <tr><td><code>count</code><br/> 1425 <code>int32</code> 1426 </td> 1427 <td> 1428 <p>count records the number of times a workload has been re-queued 1429 When a deactivated (<code>.spec.activate</code>=<code>false</code>) workload is reactivated (<code>.spec.activate</code>=<code>true</code>), 1430 this count would be reset to null.</p> 1431 </td> 1432 </tr> 1433 <tr><td><code>requeueAt</code><br/> 1434 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#time-v1-meta"><code>k8s.io/apimachinery/pkg/apis/meta/v1.Time</code></a> 1435 </td> 1436 <td> 1437 <p>requeueAt records the time when a workload will be re-queued. 1438 When a deactivated (<code>.spec.activate</code>=<code>false</code>) workload is reactivated (<code>.spec.activate</code>=<code>true</code>), 1439 this time would be reset to null.</p> 1440 </td> 1441 </tr> 1442 </tbody> 1443 </table> 1444 1445 ## `ResourceFlavorReference` {#kueue-x-k8s-io-v1beta1-ResourceFlavorReference} 1446 1447 (Alias of `string`) 1448 1449 **Appears in:** 1450 1451 - [FlavorQuotas](#kueue-x-k8s-io-v1beta1-FlavorQuotas) 1452 1453 - [FlavorUsage](#kueue-x-k8s-io-v1beta1-FlavorUsage) 1454 1455 - [LocalQueueFlavorUsage](#kueue-x-k8s-io-v1beta1-LocalQueueFlavorUsage) 1456 1457 - [PodSetAssignment](#kueue-x-k8s-io-v1beta1-PodSetAssignment) 1458 1459 1460 <p>ResourceFlavorReference is the name of the ResourceFlavor.</p> 1461 1462 1463 1464 1465 ## `ResourceFlavorSpec` {#kueue-x-k8s-io-v1beta1-ResourceFlavorSpec} 1466 1467 1468 **Appears in:** 1469 1470 - [ResourceFlavor](#kueue-x-k8s-io-v1beta1-ResourceFlavor) 1471 1472 1473 <p>ResourceFlavorSpec defines the desired state of the ResourceFlavor</p> 1474 1475 1476 <table class="table"> 1477 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1478 <tbody> 1479 1480 1481 <tr><td><code>nodeLabels</code><br/> 1482 <code>map[string]string</code> 1483 </td> 1484 <td> 1485 <p>nodeLabels are labels that associate the ResourceFlavor with Nodes that 1486 have the same labels. 1487 When a Workload is admitted, its podsets can only get assigned 1488 ResourceFlavors whose nodeLabels match the nodeSelector and nodeAffinity 1489 fields. 1490 Once a ResourceFlavor is assigned to a podSet, the ResourceFlavor's 1491 nodeLabels should be injected into the pods of the Workload by the 1492 controller that integrates with the Workload object.</p> 1493 <p>nodeLabels can be up to 8 elements.</p> 1494 </td> 1495 </tr> 1496 <tr><td><code>nodeTaints</code><br/> 1497 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#taint-v1-core"><code>[]k8s.io/api/core/v1.Taint</code></a> 1498 </td> 1499 <td> 1500 <p>nodeTaints are taints that the nodes associated with this ResourceFlavor 1501 have. 1502 Workloads' podsets must have tolerations for these nodeTaints in order to 1503 get assigned this ResourceFlavor during admission.</p> 1504 <p>An example of a nodeTaint is 1505 cloud.provider.com/preemptible="true":NoSchedule</p> 1506 <p>nodeTaints can be up to 8 elements.</p> 1507 </td> 1508 </tr> 1509 <tr><td><code>tolerations</code><br/> 1510 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#toleration-v1-core"><code>[]k8s.io/api/core/v1.Toleration</code></a> 1511 </td> 1512 <td> 1513 <p>tolerations are extra tolerations that will be added to the pods admitted in 1514 the quota associated with this resource flavor.</p> 1515 <p>An example of a toleration is 1516 cloud.provider.com/preemptible="true":NoSchedule</p> 1517 <p>tolerations can be up to 8 elements.</p> 1518 </td> 1519 </tr> 1520 </tbody> 1521 </table> 1522 1523 ## `ResourceGroup` {#kueue-x-k8s-io-v1beta1-ResourceGroup} 1524 1525 1526 **Appears in:** 1527 1528 - [ClusterQueueSpec](#kueue-x-k8s-io-v1beta1-ClusterQueueSpec) 1529 1530 1531 1532 <table class="table"> 1533 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1534 <tbody> 1535 1536 1537 <tr><td><code>coveredResources</code> <B>[Required]</B><br/> 1538 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcename-v1-core"><code>[]k8s.io/api/core/v1.ResourceName</code></a> 1539 </td> 1540 <td> 1541 <p>coveredResources is the list of resources covered by the flavors in this 1542 group. 1543 Examples: cpu, memory, vendor.com/gpu. 1544 The list cannot be empty and it can contain up to 16 resources.</p> 1545 </td> 1546 </tr> 1547 <tr><td><code>flavors</code> <B>[Required]</B><br/> 1548 <a href="#kueue-x-k8s-io-v1beta1-FlavorQuotas"><code>[]FlavorQuotas</code></a> 1549 </td> 1550 <td> 1551 <p>flavors is the list of flavors that provide the resources of this group. 1552 Typically, different flavors represent different hardware models 1553 (e.g., gpu models, cpu architectures) or pricing models (on-demand vs spot 1554 cpus). 1555 Each flavor MUST list all the resources listed for this group in the same 1556 order as the .resources field. 1557 The list cannot be empty and it can contain up to 16 flavors.</p> 1558 </td> 1559 </tr> 1560 </tbody> 1561 </table> 1562 1563 ## `ResourceQuota` {#kueue-x-k8s-io-v1beta1-ResourceQuota} 1564 1565 1566 **Appears in:** 1567 1568 - [FlavorQuotas](#kueue-x-k8s-io-v1beta1-FlavorQuotas) 1569 1570 1571 1572 <table class="table"> 1573 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1574 <tbody> 1575 1576 1577 <tr><td><code>name</code> <B>[Required]</B><br/> 1578 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcename-v1-core"><code>k8s.io/api/core/v1.ResourceName</code></a> 1579 </td> 1580 <td> 1581 <p>name of this resource.</p> 1582 </td> 1583 </tr> 1584 <tr><td><code>nominalQuota</code> <B>[Required]</B><br/> 1585 <a href="https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity"><code>k8s.io/apimachinery/pkg/api/resource.Quantity</code></a> 1586 </td> 1587 <td> 1588 <p>nominalQuota is the quantity of this resource that is available for 1589 Workloads admitted by this ClusterQueue at a point in time. 1590 The nominalQuota must be non-negative. 1591 nominalQuota should represent the resources in the cluster available for 1592 running jobs (after discounting resources consumed by system components 1593 and pods not managed by kueue). In an autoscaled cluster, nominalQuota 1594 should account for resources that can be provided by a component such as 1595 Kubernetes cluster-autoscaler.</p> 1596 <p>If the ClusterQueue belongs to a cohort, the sum of the quotas for each 1597 (flavor, resource) combination defines the maximum quantity that can be 1598 allocated by a ClusterQueue in the cohort.</p> 1599 </td> 1600 </tr> 1601 <tr><td><code>borrowingLimit</code><br/> 1602 <a href="https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity"><code>k8s.io/apimachinery/pkg/api/resource.Quantity</code></a> 1603 </td> 1604 <td> 1605 <p>borrowingLimit is the maximum amount of quota for the [flavor, resource] 1606 combination that this ClusterQueue is allowed to borrow from the unused 1607 quota of other ClusterQueues in the same cohort. 1608 In total, at a given time, Workloads in a ClusterQueue can consume a 1609 quantity of quota equal to nominalQuota+borrowingLimit, assuming the other 1610 ClusterQueues in the cohort have enough unused quota. 1611 If null, it means that there is no borrowing limit. 1612 If not null, it must be non-negative. 1613 borrowingLimit must be null if spec.cohort is empty.</p> 1614 </td> 1615 </tr> 1616 <tr><td><code>lendingLimit</code><br/> 1617 <a href="https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity"><code>k8s.io/apimachinery/pkg/api/resource.Quantity</code></a> 1618 </td> 1619 <td> 1620 <p>lendingLimit is the maximum amount of unused quota for the [flavor, resource] 1621 combination that this ClusterQueue can lend to other ClusterQueues in the same cohort. 1622 In total, at a given time, ClusterQueue reserves for its exclusive use 1623 a quantity of quota equals to nominalQuota - lendingLimit. 1624 If null, it means that there is no lending limit, meaning that 1625 all the nominalQuota can be borrowed by other clusterQueues in the cohort. 1626 If not null, it must be non-negative. 1627 lendingLimit must be null if spec.cohort is empty. 1628 This field is in alpha stage. To be able to use this field, 1629 enable the feature gate LendingLimit, which is disabled by default.</p> 1630 </td> 1631 </tr> 1632 </tbody> 1633 </table> 1634 1635 ## `ResourceUsage` {#kueue-x-k8s-io-v1beta1-ResourceUsage} 1636 1637 1638 **Appears in:** 1639 1640 - [FlavorUsage](#kueue-x-k8s-io-v1beta1-FlavorUsage) 1641 1642 1643 1644 <table class="table"> 1645 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1646 <tbody> 1647 1648 1649 <tr><td><code>name</code> <B>[Required]</B><br/> 1650 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#resourcename-v1-core"><code>k8s.io/api/core/v1.ResourceName</code></a> 1651 </td> 1652 <td> 1653 <p>name of the resource</p> 1654 </td> 1655 </tr> 1656 <tr><td><code>total</code> <B>[Required]</B><br/> 1657 <a href="https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity"><code>k8s.io/apimachinery/pkg/api/resource.Quantity</code></a> 1658 </td> 1659 <td> 1660 <p>total is the total quantity of used quota, including the amount borrowed 1661 from the cohort.</p> 1662 </td> 1663 </tr> 1664 <tr><td><code>borrowed</code> <B>[Required]</B><br/> 1665 <a href="https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Quantity"><code>k8s.io/apimachinery/pkg/api/resource.Quantity</code></a> 1666 </td> 1667 <td> 1668 <p>Borrowed is quantity of quota that is borrowed from the cohort. In other 1669 words, it's the used quota that is over the nominalQuota.</p> 1670 </td> 1671 </tr> 1672 </tbody> 1673 </table> 1674 1675 ## `StopPolicy` {#kueue-x-k8s-io-v1beta1-StopPolicy} 1676 1677 (Alias of `string`) 1678 1679 **Appears in:** 1680 1681 - [ClusterQueueSpec](#kueue-x-k8s-io-v1beta1-ClusterQueueSpec) 1682 1683 1684 1685 1686 1687 ## `WorkloadSpec` {#kueue-x-k8s-io-v1beta1-WorkloadSpec} 1688 1689 1690 **Appears in:** 1691 1692 - [Workload](#kueue-x-k8s-io-v1beta1-Workload) 1693 1694 1695 <p>WorkloadSpec defines the desired state of Workload</p> 1696 1697 1698 <table class="table"> 1699 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1700 <tbody> 1701 1702 1703 <tr><td><code>podSets</code> <B>[Required]</B><br/> 1704 <a href="#kueue-x-k8s-io-v1beta1-PodSet"><code>[]PodSet</code></a> 1705 </td> 1706 <td> 1707 <p>podSets is a list of sets of homogeneous pods, each described by a Pod spec 1708 and a count. 1709 There must be at least one element and at most 8. 1710 podSets cannot be changed.</p> 1711 </td> 1712 </tr> 1713 <tr><td><code>queueName</code> <B>[Required]</B><br/> 1714 <code>string</code> 1715 </td> 1716 <td> 1717 <p>queueName is the name of the LocalQueue the Workload is associated with. 1718 queueName cannot be changed while .status.admission is not null.</p> 1719 </td> 1720 </tr> 1721 <tr><td><code>priorityClassName</code> <B>[Required]</B><br/> 1722 <code>string</code> 1723 </td> 1724 <td> 1725 <p>If specified, indicates the workload's priority. 1726 "system-node-critical" and "system-cluster-critical" are two special 1727 keywords which indicate the highest priorities with the former being 1728 the highest priority. Any other name must be defined by creating a 1729 PriorityClass object with that name. If not specified, the workload 1730 priority will be default or zero if there is no default.</p> 1731 </td> 1732 </tr> 1733 <tr><td><code>priority</code> <B>[Required]</B><br/> 1734 <code>int32</code> 1735 </td> 1736 <td> 1737 <p>Priority determines the order of access to the resources managed by the 1738 ClusterQueue where the workload is queued. 1739 The priority value is populated from PriorityClassName. 1740 The higher the value, the higher the priority. 1741 If priorityClassName is specified, priority must not be null.</p> 1742 </td> 1743 </tr> 1744 <tr><td><code>priorityClassSource</code> <B>[Required]</B><br/> 1745 <code>string</code> 1746 </td> 1747 <td> 1748 <p>priorityClassSource determines whether the priorityClass field refers to a pod PriorityClass or kueue.x-k8s.io/workloadpriorityclass. 1749 Workload's PriorityClass can accept the name of a pod priorityClass or a workloadPriorityClass. 1750 When using pod PriorityClass, a priorityClassSource field has the scheduling.k8s.io/priorityclass value.</p> 1751 </td> 1752 </tr> 1753 <tr><td><code>active</code> <B>[Required]</B><br/> 1754 <code>bool</code> 1755 </td> 1756 <td> 1757 <p>Active determines if a workload can be admitted into a queue. 1758 Changing active from true to false will evict any running workloads. 1759 Possible values are:</p> 1760 <ul> 1761 <li>false: indicates that a workload should never be admitted and evicts running workloads</li> 1762 <li>true: indicates that a workload can be evaluated for admission into it's respective queue.</li> 1763 </ul> 1764 <p>Defaults to true</p> 1765 </td> 1766 </tr> 1767 </tbody> 1768 </table> 1769 1770 ## `WorkloadStatus` {#kueue-x-k8s-io-v1beta1-WorkloadStatus} 1771 1772 1773 **Appears in:** 1774 1775 - [Workload](#kueue-x-k8s-io-v1beta1-Workload) 1776 1777 1778 <p>WorkloadStatus defines the observed state of Workload</p> 1779 1780 1781 <table class="table"> 1782 <thead><tr><th width="30%">Field</th><th>Description</th></tr></thead> 1783 <tbody> 1784 1785 1786 <tr><td><code>admission</code> <B>[Required]</B><br/> 1787 <a href="#kueue-x-k8s-io-v1beta1-Admission"><code>Admission</code></a> 1788 </td> 1789 <td> 1790 <p>admission holds the parameters of the admission of the workload by a 1791 ClusterQueue. admission can be set back to null, but its fields cannot be 1792 changed once set.</p> 1793 </td> 1794 </tr> 1795 <tr><td><code>requeueState</code><br/> 1796 <a href="#kueue-x-k8s-io-v1beta1-RequeueState"><code>RequeueState</code></a> 1797 </td> 1798 <td> 1799 <p>requeueState holds the re-queue state 1800 when a workload meets Eviction with PodsReadyTimeout reason.</p> 1801 </td> 1802 </tr> 1803 <tr><td><code>conditions</code><br/> 1804 <a href="https://kubernetes.io/docs/reference/generated/kubernetes-api/v1.28/#condition-v1-meta"><code>[]k8s.io/apimachinery/pkg/apis/meta/v1.Condition</code></a> 1805 </td> 1806 <td> 1807 <p>conditions hold the latest available observations of the Workload 1808 current state.</p> 1809 <p>The type of the condition could be:</p> 1810 <ul> 1811 <li>Admitted: the Workload was admitted through a ClusterQueue.</li> 1812 <li>Finished: the associated workload finished running (failed or succeeded).</li> 1813 <li>PodsReady: at least <code>.spec.podSets[*].count</code> Pods are ready or have 1814 succeeded.</li> 1815 </ul> 1816 </td> 1817 </tr> 1818 <tr><td><code>reclaimablePods</code><br/> 1819 <a href="#kueue-x-k8s-io-v1beta1-ReclaimablePod"><code>[]ReclaimablePod</code></a> 1820 </td> 1821 <td> 1822 <p>reclaimablePods keeps track of the number pods within a podset for which 1823 the resource reservation is no longer needed.</p> 1824 </td> 1825 </tr> 1826 <tr><td><code>admissionChecks</code><br/> 1827 <a href="#kueue-x-k8s-io-v1beta1-AdmissionCheckState"><code>[]AdmissionCheckState</code></a> 1828 </td> 1829 <td> 1830 <p>admissionChecks list all the admission checks required by the workload and the current status</p> 1831 </td> 1832 </tr> 1833 </tbody> 1834 </table> 1835