{"id":13461390,"url":"https://github.com/kubernetes-sigs/kueue","last_synced_at":"2026-04-01T18:40:16.901Z","repository":{"id":37342552,"uuid":"459870310","full_name":"kubernetes-sigs/kueue","owner":"kubernetes-sigs","description":"Kubernetes-native Job Queueing","archived":false,"fork":false,"pushed_at":"2025-04-07T14:12:42.000Z","size":50275,"stargazers_count":1705,"open_issues_count":292,"forks_count":315,"subscribers_count":17,"default_branch":"main","last_synced_at":"2025-04-07T14:25:20.329Z","etag":null,"topics":["k8s","k8s-sig-scheduling","kubernetes"],"latest_commit_sha":null,"homepage":"https://kueue.sigs.k8s.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kubernetes-sigs.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG/CHANGELOG-0.10.md","contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY-INSIGHTS.yaml","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-02-16T05:52:19.000Z","updated_at":"2025-04-07T14:12:46.000Z","dependencies_parsed_at":"2024-03-25T09:48:41.459Z","dependency_job_id":"c7ed0ada-5142-4005-b8b0-1038e24c30a8","html_url":"https://github.com/kubernetes-sigs/kueue","commit_stats":{"total_commits":2362,"total_committers":123,"mean_commits":"19.203252032520325","dds":0.8547840812870449,"last_synced_commit":"6df4a22579e0ec7bbd2dae00b44804d2f452d921"},"previous_names":[],"tags_count":64,"template":false,"template_full_name":"kubernetes/kubernetes-template-project","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes-sigs%2Fkueue","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes-sigs%2Fkueue/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes-sigs%2Fkueue/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes-sigs%2Fkueue/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubernetes-sigs","download_url":"https://codeload.github.com/kubernetes-sigs/kueue/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247730068,"owners_count":20986404,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["k8s","k8s-sig-scheduling","kubernetes"],"created_at":"2024-07-31T11:00:37.583Z","updated_at":"2026-04-01T18:40:16.858Z","avatar_url":"https://github.com/kubernetes-sigs.png","language":"Go","funding_links":[],"categories":["Go","Large Scale Deployment","Scheduling","Cluster Orchestration and Scheduling","Workload Orchestration \u0026 Scheduling","8. MLOps / LLMOps \u0026 Production"],"sub_categories":["Scheduling"],"readme":"# Kueue\n\n[![GoReport Widget]][GoReport Status]\n[![Latest Release](https://img.shields.io/github/v/release/kubernetes-sigs/kueue?include_prereleases)](https://github.com/kubernetes-sigs/kueue/releases/latest)\n\n[GoReport Widget]: https://goreportcard.com/badge/github.com/kubernetes-sigs/kueue\n[GoReport Status]: https://goreportcard.com/report/github.com/kubernetes-sigs/kueue\n\n\u003cimg src=\"https://github.com/kubernetes-sigs/kueue/blob/main/site/static/images/logo.svg\" width=\"100\" alt=\"kueue logo\"\u003e\n\nKueue is a set of APIs and controller for [job](https://kueue.sigs.k8s.io/docs/concepts/workload)\n[queueing](https://kueue.sigs.k8s.io/docs/concepts#queueing). It is a job-level manager that decides when\na job should be [admitted](https://kueue.sigs.k8s.io/docs/concepts#admission) to start (as in pods can be\ncreated) and when it should stop (as in active pods should be deleted).\n\nRead the [overview](https://kueue.sigs.k8s.io/docs/overview/) and watch the Kueue-related [talks \u0026 presentations](https://kueue.sigs.k8s.io/docs/talks_and_presentations/) to learn more.\n\n## Features overview\n\n- **Job management:** Support job queueing based on [priorities](https://kueue.sigs.k8s.io/docs/concepts/workload/#priority) with different [strategies](https://kueue.sigs.k8s.io/docs/concepts/cluster_queue/#queueing-strategy): `StrictFIFO` and `BestEffortFIFO`.\n- **Advanced Resource management:** Comprising: [resource flavor fungibility](https://kueue.sigs.k8s.io/docs/concepts/cluster_queue/#flavorfungibility), [Fair Sharing](https://kueue.sigs.k8s.io/docs/concepts/preemption/#fair-sharing), [cohorts](https://kueue.sigs.k8s.io/docs/concepts/cluster_queue/#cohort) and [preemption](https://kueue.sigs.k8s.io/docs/concepts/cluster_queue/#preemption) with a variety of policies between different tenants.\n- **Integrations:** Built-in support for popular jobs, e.g. [BatchJob](https://kueue.sigs.k8s.io/docs/tasks/run/jobs/), [Kubeflow training jobs](https://kueue.sigs.k8s.io/docs/tasks/run/kubeflow/), [RayJob](https://kueue.sigs.k8s.io/docs/tasks/run/rayjobs/), [RayCluster](https://kueue.sigs.k8s.io/docs/tasks/run/rayclusters/), [JobSet](https://kueue.sigs.k8s.io/docs/tasks/run/jobsets/),  [plain Pod and Pod Groups](https://kueue.sigs.k8s.io/docs/tasks/run/plain_pods/).\n- **System insight:** Build-in [prometheus metrics](https://kueue.sigs.k8s.io/docs/reference/metrics/) to help monitor the state of the system, and on-demand visibility endpoint for [monitoring of pending workloads](https://kueue.sigs.k8s.io/docs/tasks/manage/monitor_pending_workloads/pending_workloads_on_demand/).\n- **AdmissionChecks:** A mechanism for internal or external components to influence whether a workload can be [admitted](https://kueue.sigs.k8s.io/docs/concepts/admission_check/).\n- **Advanced autoscaling support:** Integration with cluster-autoscaler's [provisioningRequest](https://kueue.sigs.k8s.io/docs/admission-check-controllers/provisioning/#job-using-a-provisioningrequest) via admissionChecks.\n- **All-or-nothing with ready Pods:** A timeout-based implementation of [All-or-nothing scheduling](https://kueue.sigs.k8s.io/docs/tasks/manage/setup_wait_for_pods_ready/).\n- **Partial admission and dynamic reclaim:** mechanisms to run a job with [reduced parallelism](https://kueue.sigs.k8s.io/docs/tasks/run/jobs/#partial-admission), based on available quota, and to [release](https://kueue.sigs.k8s.io/docs/concepts/workload/#dynamic-reclaim) the quota the pods complete..\n- **Mixing training and inference**: Simultaneous management of batch workloads along with serving workloads (such as [Deployments](https://kueue.sigs.k8s.io/docs/tasks/run/deployment/) or [StatefulSets](https://kueue.sigs.k8s.io/docs/tasks/run/statefulset/))\n- **Multi-cluster job dispatching:** called [MultiKueue](https://kueue.sigs.k8s.io/docs/concepts/multikueue/), allows to search for capacity and off-load the main cluster.\n- **Topology-Aware Scheduling**: Allows to optimize the Pod-to-Pod communication throughput by [scheduling aware of the data-center topology](https://kueue.sigs.k8s.io/docs/concepts/topology_aware_scheduling/).\n\n## Production Readiness status\n\n- ✔️ API version: v1beta1, respecting [Kubernetes Deprecation Policy](https://kubernetes.io/docs/reference/using-api/deprecation-policy/)\n- ✔️ Up-to-date [documentation](https://kueue.sigs.k8s.io/docs).\n- ✔️ Test Coverage:\n  - ✔️ Unit Test [testgrid](https://testgrid.k8s.io/sig-scheduling#periodic-kueue-test-unit-main).\n  - ✔️ Integration Test [testgrid](https://testgrid.k8s.io/sig-scheduling#periodic-kueue-test-integration-main)\n  - ✔️ E2E Tests for Kubernetes\n    [1.29](https://testgrid.k8s.io/sig-scheduling#periodic-kueue-test-e2e-main-1-29),\n    [1.30](https://testgrid.k8s.io/sig-scheduling#periodic-kueue-test-e2e-main-1-30),\n    [1.31](https://testgrid.k8s.io/sig-scheduling#periodic-kueue-test-e2e-main-1-31),\n    [1.32](https://testgrid.k8s.io/sig-scheduling#periodic-kueue-test-e2e-main-1-32),\n    on Kind.\n- ✔️ Scalability verification via [performance tests](https://github.com/kubernetes-sigs/kueue/tree/main/test/performance).\n- ✔️ Monitoring via [metrics](https://kueue.sigs.k8s.io/docs/reference/metrics).\n- ✔️ Security: RBAC based accessibility.\n- ✔️ Stable [release](RELEASE.md) cycle (2-3 months).\n- ✔️ [Adopters](https://kueue.sigs.k8s.io/docs/adopters/) running on production.\n\n  _Based on community feedback, we continue to simplify and evolve the API to\n  address new use cases_.\n\n## Installation\n\n**Requires Kubernetes 1.25 or newer**.\n\nTo install the latest release of Kueue in your cluster, run the following command:\n\n```shell\nkubectl apply --server-side -f https://github.com/kubernetes-sigs/kueue/releases/download/v0.11.1/manifests.yaml\n```\n\nThe controller runs in the `kueue-system` namespace.\n\nRead the [installation guide](https://kueue.sigs.k8s.io/docs/installation/) to learn more.\n\n## Usage\n\nA minimal configuration can be set by running the [examples](site/static/examples):\n\n```shell\nkubectl apply -f examples/admin/single-clusterqueue-setup.yaml\n```\n\nThen you can run a job with:\n\n```shell\nkubectl create -f examples/jobs/sample-job.yaml\n```\n\nLearn more about:\n\n- Kueue [concepts](https://kueue.sigs.k8s.io/docs/concepts).\n- Common and advanced [tasks](https://kueue.sigs.k8s.io/docs/tasks).\n\n## Architecture\n\n\u003c!-- TODO(#64) Remove links to google docs once the contents have been migrated to this repo --\u003e\n\nLearn more about the architecture of Kueue with the following design docs:\n\n- [bit.ly/kueue-apis](https://bit.ly/kueue-apis) discusses the API proposal and a high\n  level description of how Kueue operates. Join the [mailing list](https://groups.google.com/a/kubernetes.io/g/wg-batch)\nto get document access.\n- [bit.ly/kueue-controller-design](https://bit.ly/kueue-controller-design)\npresents the detailed design of the controller.\n\n## Roadmap\n\nHigh-level overview of the main priorities for 2025:\n- Improve user experience for [MultiKueue](https://kueue.sigs.k8s.io/docs/concepts/multikueue/) - multi-cluster Job dispatching, in particular:\n  * sequential attempts to try worker clusters [#3757](https://github.com/kubernetes-sigs/kueue/issues/3757)\n  * log retrieval from worker clusters [3526](https://github.com/kubernetes-sigs/kueue/issues/3526)\n- Improve user experience for [Topology Aware Scheduling](https://kueue.sigs.k8s.io/docs/concepts/topology_aware_scheduling/), in particular:\n  * make Topology Aware Scheduling compatible with cohorts and preemption [#3761](https://github.com/kubernetes-sigs/kueue/issues/3761)\n  * optimize the algorithm to minimize fragmentation [#3756](https://github.com/kubernetes-sigs/kueue/issues/3756)\n  * better accuracy of scheduling by tighter integration with kube-scheduler [#3755](https://github.com/kubernetes-sigs/kueue/issues/3755)\n  * reduce friction by defaulting the PodSet annotations [#3754](https://github.com/kubernetes-sigs/kueue/issues/3754)\n- Productization of the Kueue dashboard [#940](https://github.com/kubernetes-sigs/kueue/issues/940)\n- Support Hierarchical Cohorts with FairSharing [#3759](https://github.com/kubernetes-sigs/kueue/issues/3759)\n- Improved support for AI inference, including:\n  * partial preemption of serving workloads [#3762](https://github.com/kubernetes-sigs/kueue/issues/3762)\n  * LeaderWorkerSet support [#3232](https://github.com/kubernetes-sigs/kueue/issues/3232)\n- Progress towards the stable API (v1beta2) [#768](https://github.com/kubernetes-sigs/kueue/issues/768)\n\nLong-term aspirational goals:\n- Integration with workflow frameworks [#74](https://github.com/kubernetes-sigs/kueue/issues/74)\n- Support dynamically-sized Jobs [#77](https://github.com/kubernetes-sigs/kueue/issues/77)\n- Budget support [#28](https://github.com/kubernetes-sigs/kueue/issues/28)\n- Flavor assignment strategies, e.g. _minimizing cost_ vs _minimizing borrowing_ [#312](https://github.com/kubernetes-sigs/kueue/issues/312)\n- Cooperative preemption support for workloads that implement checkpointing [#477](https://github.com/kubernetes-sigs/kueue/issues/477)\n- Delayed preemption for two-stage admission [#3758](https://github.com/kubernetes-sigs/kueue/issues/3758)\n- Support Structured Parameters (DRA) in Kueue [#2941](https://github.com/kubernetes-sigs/kueue/issues/2941)\n- Graduate the API to v1 [#3476](https://github.com/kubernetes-sigs/kueue/issues/3476)\n\n## Community, discussion, contribution, and support\n\nLearn how to engage with the Kubernetes community on the [community page](http://kubernetes.io/community/)\nand the [contributor's guide](CONTRIBUTING.md).\n\nYou can reach the maintainers of this project at:\n\n- [Slack](https://kubernetes.slack.com/messages/wg-batch)\n- [Mailing List](https://groups.google.com/a/kubernetes.io/g/wg-batch)\n\n### Graphic assets\n\n- [Logos](https://github.com/cncf/artwork/tree/main/projects/kueue)\n\n### Code of conduct\n\nParticipation in the Kubernetes community is governed by the [Kubernetes Code of Conduct](code-of-conduct.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubernetes-sigs%2Fkueue","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubernetes-sigs%2Fkueue","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubernetes-sigs%2Fkueue/lists"}