scheduler-plugins

module
v0.30.6 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 3, 2024 License: Apache-2.0

README

Go Report Card License

Scheduler Plugins

Repository for out-of-tree scheduler plugins based on the scheduler 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 for the complete list of images.

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 here.

Plugins

The kube-scheduler binary includes the below list of plugins. They can be configured by creating one or more scheduler profiles.

Additionally, the kube-scheduler binary includes the below list of sample plugins. These plugins are not intended for use in production environments.

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.29.7 v1.29.7 registry.k8s.io/scheduler-plugins/kube-scheduler:v0.29.7 linux/amd64
linux/arm64
linux/s390x
linux/ppc64le
v0.28.9 v1.28.9 registry.k8s.io/scheduler-plugins/kube-scheduler:v0.28.9 linux/amd64
linux/arm64
v0.27.8 v1.27.8 registry.k8s.io/scheduler-plugins/kube-scheduler:v0.27.8 linux/amd64
linux/arm64
Controller Compiled With k8s Version Container Image Arch
v0.29.7 v1.29.7 registry.k8s.io/scheduler-plugins/controller:v0.29.7 linux/amd64
linux/arm64
linux/s390x
linux/ppc64le
v0.28.9 v1.28.9 registry.k8s.io/scheduler-plugins/controller:v0.28.9 linux/amd64
linux/arm64
v0.27.8 v1.27.8 registry.k8s.io/scheduler-plugins/controller:v0.27.8 linux/amd64
linux/arm64
Older releases
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 linux/amd64
linux/arm64
v0.25.12 v1.25.12 registry.k8s.io/scheduler-plugins/kube-scheduler:v0.25.12 linux/amd64
linux/arm64
v0.24.9 v1.24.9 registry.k8s.io/scheduler-plugins/kube-scheduler:v0.24.9 linux/amd64
linux/arm64
v0.23.10 v1.23.10 registry.k8s.io/scheduler-plugins/kube-scheduler:v0.23.10 linux/amd64
linux/arm64
v0.22.6 v1.22.6 registry.k8s.io/scheduler-plugins/kube-scheduler:v0.22.6 linux/amd64
linux/arm64
v0.21.6 v1.21.6 registry.k8s.io/scheduler-plugins/kube-scheduler:v0.21.6 linux/amd64
linux/arm64
v0.20.10 v1.20.10 registry.k8s.io/scheduler-plugins/kube-scheduler:v0.20.10 linux/amd64
linux/arm64
v0.19.9 v1.19.9 registry.k8s.io/scheduler-plugins/kube-scheduler:v0.19.9 linux/amd64
linux/arm64
v0.19.8 v1.19.8 registry.k8s.io/scheduler-plugins/kube-scheduler:v0.19.8 linux/amd64
linux/arm64
v0.18.9 v1.18.9 registry.k8s.io/scheduler-plugins/kube-scheduler:v0.18.9 linux/amd64
Controller Compiled With k8s Version Container Image Arch
v0.26.7 v1.26.7 registry.k8s.io/scheduler-plugins/controller:v0.26.7 linux/amd64
linux/arm64
v0.25.12 v1.25.12 registry.k8s.io/scheduler-plugins/controller:v0.25.12 linux/amd64
linux/arm64
v0.24.9 v1.24.9 registry.k8s.io/scheduler-plugins/controller:v0.24.9 linux/amd64
linux/arm64
v0.23.10 v1.23.10 registry.k8s.io/scheduler-plugins/controller:v0.23.10 linux/amd64
linux/arm64
v0.22.6 v1.22.6 registry.k8s.io/scheduler-plugins/controller:v0.22.6 linux/amd64
linux/arm64
v0.21.6 v1.21.6 registry.k8s.io/scheduler-plugins/controller:v0.21.6 linux/amd64
linux/arm64
v0.20.10 v1.20.10 registry.k8s.io/scheduler-plugins/controller:v0.20.10 linux/amd64
linux/arm64
v0.19.9 v1.19.9 registry.k8s.io/scheduler-plugins/controller:v0.19.9 linux/amd64
linux/arm64
v0.19.8 v1.19.8 registry.k8s.io/scheduler-plugins/controller:v0.19.8 linux/amd64
linux/arm64

Community, discussion, contribution, and support

Learn how to engage with the Kubernetes community on the community page.

You can reach the maintainers of this project at:

You can find an instruction how to build and run out-of-tree plugin here .

Code of conduct

Participation in the Kubernetes community is governed by the Kubernetes Code of Conduct.

Directories

Path Synopsis
apis
config
Package config of the API.
Package config of the API.
config/v1
Package v1 is the v1 version of the API.
Package v1 is the v1 version of the API.
scheduling/v1alpha1
Package v1alpha1 contains API Schema definitions for the scheduling.x-k8s.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=scheduling.x-k8s.io
Package v1alpha1 contains API Schema definitions for the scheduling.x-k8s.io v1alpha1 API group +kubebuilder:object:generate=true +groupName=scheduling.x-k8s.io
cmd
pkg
generated/clientset/versioned/fake
This package has the automatically generated fake clientset.
This package has the automatically generated fake clientset.
generated/clientset/versioned/scheme
This package contains the scheme of the automatically generated clientset.
This package contains the scheme of the automatically generated clientset.
generated/clientset/versioned/typed/scheduling/v1alpha1
This package has the automatically generated typed clients.
This package has the automatically generated typed clients.
generated/clientset/versioned/typed/scheduling/v1alpha1/fake
Package fake has the automatically generated clients.
Package fake has the automatically generated clients.
qos
trimaran/loadvariationriskbalancing
Package loadvariationriskbalancing plugin attempts to balance the risk in load variation across the cluster.
Package loadvariationriskbalancing plugin attempts to balance the risk in load variation across the cluster.
test

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL