@tank/kueue
Installation
SKILL.md
Kueue
Core Philosophy
- Suspend first, admit later — Every supported Job is created in
suspend: truestate by Kueue's mutating webhook. The Workload object is the queueing unit; the Job only unsuspends after the Workload is admitted. Never bypass this by settingsuspend: falsemanually. - Quota lives on the ClusterQueue, naming lives on the LocalQueue — Users submit Jobs with a
kueue.x-k8s.io/queue-name: <local-queue>label. The LocalQueue points to a ClusterQueue, which holds the actual quota. This separates tenant identity from capacity policy. - Cohorts are how slack capacity is shared — Two ClusterQueues in the same
cohortcan borrow each other's unusednominalQuotaup to theirborrowingLimit. Without a cohort, quota is hard-isolated. SetlendingLimitto cap how much a queue can be borrowed from. - Flavors map workloads to hardware — A
ResourceFlavoris a tuple of(nodeLabels, taints, tolerations). Quota is per-flavor. The samecpuresource can have separate quotas forspotandondemandflavors, andflavorFungibilitycontrols fall-through behavior. - AdmissionChecks gate the final unsuspend — Quota reservation is necessary but not sufficient. AdmissionChecks (e.g., MultiKueue, ProvisioningRequest) must all pass
Readybefore the Workload transitions toAdmittedand the Job unsuspends.