From 8692e843475a4c1c42a908613fd117ac10955d04 Mon Sep 17 00:00:00 2001 From: Avesh Agarwal Date: Fri, 25 Aug 2017 15:36:20 -0400 Subject: [PATCH] Update README. --- README.md | 27 +++++++++++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index ce6570756..78f83f93a 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,25 @@ -# Rescheduler -Rescheduler for Kubernetes +# 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: + +```sh +$ make build +``` + +and run rescheduler: + +```sh +$ ./_output/bin/rescheduler --kubeconfig --policy-config-file examples/policy.yaml +``` + +For more information about available options run: +``` +$ ./_output/bin/rescheduler --help +``` +