# scheduler-plugins **Repository Path**: xiaowu_wang/scheduler-plugins ## Basic Information - **Project Name**: scheduler-plugins - **Description**: Repository for out-of-tree scheduler plugins based on scheduler framework. - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-08-09 - **Last Updated**: 2023-08-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README [![Go Report Card](https://goreportcard.com/badge/kubernetes-sigs/scheduler-plugins)](https://goreportcard.com/report/kubernetes-sigs/scheduler-plugins) [![License](https://img.shields.io/badge/License-Apache%202.0-blue.svg)](https://github.com/kubernetes-sigs/scheduler-plugins/blob/master/LICENSE) # Scheduler Plugins Repository for out-of-tree scheduler plugins based on the [scheduler framework](https://kubernetes.io/docs/concepts/scheduling-eviction/scheduling-framework/). This repo provides scheduler plugins that are exercised in large companies. These plugins can be vendored as Golang SDK libraries or used out-of-box via the pre-built images or Helm charts. Additionally, this repo incorporates best practices and utilities to compose a high-quality scheduler plugin. ## Install Container images are available in the official scheduler-plugins k8s container registry. There are two images one for the kube-scheduler and one for the controller. See the [Compatibility Matrix section](#compatibility-matrix) for the complete list of images. ```shell docker pull registry.k8s.io/scheduler-plugins/kube-scheduler:$TAG docker pull registry.k8s.io/scheduler-plugins/controller:$TAG ``` You can find [how to install release image](doc/install.md) here. ## Plugins The kube-scheduler binary includes the below list of plugins. They can be configured by creating one or more [scheduler profiles](https://kubernetes.io/docs/reference/scheduling/config/#multiple-profiles). * [Capacity Scheduling](pkg/capacityscheduling/README.md) * [Coscheduling](pkg/coscheduling/README.md) * [Node Resources](pkg/noderesources/README.md) * [Node Resource Topology](pkg/noderesourcetopology/README.md) * [Preemption Toleration](pkg/preemptiontoleration/README.md) * [Trimaran](pkg/trimaran/README.md) * [Network-Aware Scheduling](pkg/networkaware/README.md) Additionally, the kube-scheduler binary includes the below list of sample plugins. These plugins are not intended for use in production environments. * [Cross Node Preemption](pkg/crossnodepreemption/README.md) * [Pod State](pkg/podstate/README.md) * [Quality of Service](pkg/qos/README.md) ## Compatibility Matrix The below compatibility matrix shows the k8s client package (client-go, apimachinery, etc) versions that the scheduler-plugins are compiled with. The minor version of the scheduler-plugins matches the minor version of the k8s client packages that it is compiled with. For example scheduler-plugins `v0.18.x` releases are built with k8s `v1.18.x` dependencies. The scheduler-plugins patch versions come in two different varieties (single digit or three digits). The single digit patch versions (e.g., `v0.18.9`) exactly align with the k8s client package versions that the scheduler plugins are built with. The three digit patch versions, which are built on demand, (e.g., `v0.18.800`) are used to indicated that the k8s client package versions have not changed since the previous release, and that only scheduler plugins code (features or bug fixes) was changed. | Scheduler Plugins | Compiled With k8s Version | Container Image | Arch | |-------------------|---------------------------|-----------------------------------------------------------|----------------| | v0.26.7 | v1.26.7 | registry.k8s.io/scheduler-plugins/kube-scheduler:v0.26.7 | AMD64
ARM64 | | v0.25.7 | v1.25.7 | registry.k8s.io/scheduler-plugins/kube-scheduler:v0.25.7 | AMD64
ARM64 | | v0.24.9 | v1.24.9 | registry.k8s.io/scheduler-plugins/kube-scheduler:v0.24.9 | AMD64
ARM64 | | v0.23.10 | v1.23.10 | registry.k8s.io/scheduler-plugins/kube-scheduler:v0.23.10 | AMD64
ARM64 | | v0.22.6 | v1.22.6 | registry.k8s.io/scheduler-plugins/kube-scheduler:v0.22.6 | AMD64
ARM64 | | v0.21.6 | v1.21.6 | registry.k8s.io/scheduler-plugins/kube-scheduler:v0.21.6 | AMD64
ARM64 | | v0.20.10 | v1.20.10 | registry.k8s.io/scheduler-plugins/kube-scheduler:v0.20.10 | AMD64
ARM64 | | v0.19.9 | v1.19.9 | registry.k8s.io/scheduler-plugins/kube-scheduler:v0.19.9 | AMD64
ARM64 | | v0.19.8 | v1.19.8 | registry.k8s.io/scheduler-plugins/kube-scheduler:v0.19.8 | AMD64
ARM64 | | v0.18.9 | v1.18.9 | registry.k8s.io/scheduler-plugins/kube-scheduler:v0.18.9 | AMD64 | | Controller | Compiled With k8s Version | Container Image | Arch | |------------|---------------------------|-------------------------------------------------------|----------------| | v0.26.7 | v1.26.7 | registry.k8s.io/scheduler-plugins/controller:v0.26.7 | AMD64
ARM64 | | v0.25.7 | v1.25.7 | registry.k8s.io/scheduler-plugins/controller:v0.25.7 | AMD64
ARM64 | | v0.24.9 | v1.24.9 | registry.k8s.io/scheduler-plugins/controller:v0.24.9 | AMD64
ARM64 | | v0.23.10 | v1.23.10 | registry.k8s.io/scheduler-plugins/controller:v0.23.10 | AMD64
ARM64 | | v0.22.6 | v1.22.6 | registry.k8s.io/scheduler-plugins/controller:v0.22.6 | AMD64
ARM64 | | v0.21.6 | v1.21.6 | registry.k8s.io/scheduler-plugins/controller:v0.21.6 | AMD64
ARM64 | | v0.20.10 | v1.20.10 | registry.k8s.io/scheduler-plugins/controller:v0.20.10 | AMD64
ARM64 | | v0.19.9 | v1.19.9 | registry.k8s.io/scheduler-plugins/controller:v0.19.9 | AMD64
ARM64 | | v0.19.8 | v1.19.8 | registry.k8s.io/scheduler-plugins/controller:v0.19.8 | AMD64
ARM64 | ## Community, discussion, contribution, and support Learn how to engage with the Kubernetes community on the [community page](http://kubernetes.io/community/). You can reach the maintainers of this project at: - [Slack](https://kubernetes.slack.com/messages/sig-scheduling) - [Mailing List](https://groups.google.com/forum/#!forum/kubernetes-sig-scheduling) You can find an [instruction how to build and run out-of-tree plugin here](doc/develop.md) . ### Code of conduct Participation in the Kubernetes community is governed by the [Kubernetes Code of Conduct](code-of-conduct.md).