sigs.k8s.io/kueue@v0.6.2/site/content/en/docs/overview/_index.md (about)

     1  ---
     2  title: "Overview"
     3  linkTitle: "Overview"
     4  weight: 1
     5  description: >
     6    Why Kueue?
     7  ---
     8  
     9  Kueue is a kubernetes-native system that manages quotas and how jobs consume them. Kueue decides when a job should wait, when a job should be admitted to start (as in pods can be created) and when a job should be preempted (as in active pods should be deleted).
    10  
    11  ## Why use Kueue
    12  
    13  You can install Kueue on top of a vanilla Kubernetes cluster. Kueue does not replace any existing Kubernetes components. Kueue is compatible with cloud environments where:
    14  
    15  * Compute resources are elastic and can be scaled up and down.
    16  * Compute resources are heterogeneous (in architecture, availability, price, etc.).
    17  
    18  Kueue APIs allow you to express:
    19  
    20  * Quotas and policies for fair sharing among tenants.
    21  * Resource fungibility: if a resource flavor is fully utilized, Kueue can admit the job using a different flavor.
    22  
    23  A core design principle for Kueue is to avoid duplicating mature functionality in Kubernetes components and well-established third-party controllers. Autoscaling, pod-to-node scheduling and job lifecycle management are the responsibility of cluster-autoscaler, kube-scheduler and kube-controller-manager, respectively. Advanced admission control can be delegated to controllers such as gatekeeper.
    24  
    25  ## Features overview
    26  
    27  - **Job management:** Support job queueing based on [priorities](/docs/concepts/workload/#priority) with different [strategies](/docs/concepts/cluster_queue/#queueing-strategy): `StrictFIFO` and `BestEffortFIFO`.
    28  - **Resource management:** Support resource fair sharing and [preemption](/docs/concepts/cluster_queue/#preemption) with a variety of policies between different tenants.
    29  - **Dynamic resource reclaim:** A mechanism to [release](/docs/concepts/workload/#dynamic-reclaim) quota as the pods of a Job complete.
    30  - **Resource flavor fungibility:** Quota [borrowing or preemption](/docs/concepts/cluster_queue/#flavorfungibility) in ClusterQueue and Cohort.
    31  - **Integrations:** Built-in support for popular jobs, e.g. [BatchJob](/docs/tasks/run_jobs/), [Kubeflow training jobs](/docs/tasks/run_kubeflow_jobs/), [RayJob](/docs/tasks/run_rayjobs/), [RayCluster](/docs/tasks/run_rayclusters/), [JobSet](/docs/tasks/run_jobsets/),  [plain Pod](/docs/tasks/run_plain_pods/).
    32  - **System insight:** Built-in [prometheus metrics](/docs/reference/metrics/) to help monitor the state of the system, as well as Conditions.
    33  - **AdmissionChecks:** A mechanism for internal or external components to influence whether a workload can be [admitted](/docs/concepts/admission_check/).
    34  - **Advanced autoscaling support:** Integration with cluster-autoscaler's [provisioningRequest](/docs/admission-check-controllers/provisioning/#job-using-a-provisioningrequest) via admissionChecks.
    35  - **Sequential admission:** A simple implementation of [all-or-nothing scheduling](/docs/tasks/setup_sequential_admission/).
    36  - **Partial admission:** Allows jobs to run with a [smaller parallelism](/docs/tasks/run_jobs/#partial-admission), based on available quota, if the application supports it.
    37  
    38  ## High-level Kueue operation
    39  
    40  ![High Level Kueue Operation](/images/theory-of-operation.svg)
    41  
    42  To learn more about Kueue concepts, see the [concepts](/docs/concepts) section.
    43  
    44  To learn about different Kueue personas and what you can do with Kueue, see the [tasks](/docs/tasks) section.