Skip to content

lentil1016/descheduler

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CircleCI Go Report Card FOSSA Status

descheduler

A descheduler server for kubernetes cluster.

Quice Start

kubectl apply -f https://raw.githubusercontent.com/lentil1016/descheduler/master/manifest.yaml

Describe

This scheduler runs as a server, and it makes evicting decisions more "gentlely".

Every time it assesses resource status of the cluster and evicts certain number of pods(defined by spec.rules.maxEvictSize in config file). Then it waits for replicaSets pods of which is evicted to rebound to fully ready. Then it reassess the cluster and do another evicting again, until resources are banlanced.

It says you can get the nutrition you need from either food or pills, and I believe kubernetes-incubator/descheduler is the pills, this project is the food.

Feature

  • Run as a server, not a job.
  • Triggered deschedule by node ready event or by timer.
  • Config node selector to limit the nodes descheduler will affect.
  • Be able to deschedule:
    • the pods that can find prefered node
    • the pods with peer pods(pods created by the same SeplicaSet) on the same node
    • the pods with peer pods in cluster

License

FOSSA Status

About

A deschedule controller for kubernetes cluster

Resources

License

Stars

Watchers

Forks

Packages