1
0
mirror of https://github.com/kubernetes-sigs/descheduler.git synced 2026-01-26 13:29:11 +01:00
Files
descheduler/README.md
Avesh Agarwal 8692e84347 Update README.
2017-08-25 15:36:20 -04:00

1.4 KiB

Rescheduler for Kubernetes

Introduction

Scheduling in Kubernetes is the process of binding pending pods to nodes, and is performed by a component of Kubernetes called kube-scheduler. The scheduler's decisions, whether or where a pod can or can not be scheduled, are guided by its configurable policy which comprises of set of rules, called predicates and priorities. The scheduler's decisions are influenced by its view of a Kubernetes cluster at that point of time when a new pod appears first time for scheduling. As a Kubernetes cluster is very dynamic and its state changes over time, the initial scheduling decision might turn out to be a sub-optimal one with respect to the cluster's ever changing state. Consequently, increasing population of pods scheduled on less desired nodes may lead to issues in clusters for example performance degradation. Due to this, it becomes important to continuously revisit scheduling. This process of revisiting scheduling decisions and rescheduling pods somewhere else, termed as rescheduling, is the main focus of this document. The component, that will make rescheduling decisions, is termed as rescheduler.

Build and Run

Build rescheduler:

$ make build

and run rescheduler:

$ ./_output/bin/rescheduler --kubeconfig <path to kubeconfig> --policy-config-file examples/policy.yaml

For more information about available options run:

$ ./_output/bin/rescheduler --help