descheduler

Descheduler for Kubernetes

APACHE-2.0 License

Stars
4K
Committers
151

Bot releases are hidden (Show)

descheduler - Descheduler v0.19.0

Published by damemi about 4 years ago

Container image for this release is available at: k8s.gcr.io/descheduler/descheduler:v0.19.0

The Helm chart for this release is published here.

New Features 🌈

  • #338 Filter pods by namespaces @ingvagabund
  • #364 Allow custom priority threshold @lixiang233
  • #386 Bump k8s Modules For k8s 1.19 @seanmalloy
  • #371 Update To Go 1.15.0 @seanmalloy

Bug Fixes 🐛

  • #285 Change break condition and thresholds validation for lowUtilization @lixiang233
  • #310 Skip evicting when no evictable pod found on node @lixiang233
  • #312 Pass golint check for pkg/descheduler/strategies/ @lixiang233
  • #319 Remove redundant eviction log message and add "Reason" param to EvictPod @damemi
  • #330 Fix examples typo @paulfantom
  • #336 avoid appending list multiple times in RemoveDuplicates @lixiang233
  • #361 remove unnecessary line feed in log messages @jjmengze
  • #362 Update version parsing to exclude helm-chart tags @damemi
  • #366 Add missing validation in PodAntiAffinity @lixiang233
  • #369 Add check for ownerref length in DuplicatePods strategy @damemi
  • #374 Promote Namespaces field to a pointer @ingvagabund

Others 🏃

  • #296 Make DeschedulerStrategy.Params a pointer @ingvagabund
  • #297 Add verify-gofmt make target @ingvagabund
  • #299 Standardize node affinity strategy logs @damemi
  • #300 Add more verbose logging to IsEvictable checks @damemi
  • #307 Add parent make verify target @damemi
  • #321 Add Pod Eviction Reason To Events @seanmalloy
  • #322 Move sortPodsBasedOnPriority to pod util @lixiang233
  • #325 Add initial GitHub issue templates @seanmalloy
  • #327 Update klog to v2 @farah
  • #328 Update To Go 1.14.4 @seanmalloy
  • #332 Add maxPodsToEvictPerNode to LowNodeUtilization testcase struct @lixiang233
  • #333 Support only one sorting strategy in lowNodeUtilization @lixiang233
  • #340 Update e2e script to use Kind setup @damemi
  • #344 have k8s version configurable when creating cluster through kind @ingvagabund
  • #342 Remove Travis CI Configuration @seanmalloy
  • #298 Add helm chart @stevehipwell
  • #343 Clean e2e test so it's easier to extend it @ingvagabund
  • #351 Update Release Documentation For Helm Charts @seanmalloy
  • #356 Update Helm release action to work on release branches @damemi
  • #359 More Helm Documentation @seanmalloy
  • #360 Add NPD+CA autohealing use case to user guide @dharmab
  • #337 Rebase k8s dependencies to 1.19-rc.2 @damemi
  • #363 Update Container Registry to k8s.gcr.io @seanmalloy
  • #370 Bump k8s dependencies to 1.19-rc.4 @damemi
  • #375 Update Maintainer Details In Helm Chart @seanmalloy
  • #372 Redefine IsEvictable to be customizable for a particular strategy @ingvagabund
  • #382 Add table of contents to README @damemi
  • #380 Deprecate node-selector, max-pods-to-evict-per-node and evict-local-storage-pods flags and promote then to policy v1alpha1 fields @ingvagabund
  • #387 Add KUBECONFIG Export To Contributing Docs @seanmalloy
  • #385 LowNodeUtilization: use clientset in testing, drop all custom reactors @ingvagabund
descheduler - Helm Chart v0.18.0

Published by damemi about 4 years ago

This release publishes the Helm chart for the 1.18 (v0.18.0) Descheduler

descheduler - Descheduler v0.18.0

Published by damemi over 4 years ago

Docker images are available on Google Container Registry:

docker run asia.gcr.io/k8s-artifacts-prod/descheduler/descheduler:v0.18.0
docker run eu.gcr.io/k8s-artifacts-prod/descheduler/descheduler:v0.18.0
docker run us.gcr.io/k8s-artifacts-prod/descheduler/descheduler:v0.18.0

Note: This release signals a switch in our previous release cycles to now match the current Kubernetes release (this is why we are releasing as v0.18.0, corresponding to Kubernetes 1.18, instead of v0.11.0). We plan to maintain regular releases to match with the Kubernetes version in this pattern.

New Features 🌈

  • #254 Add new RemovePodsHavingTooManyRestarts strategy @damemi
  • #274 Add new PodLifeTime strategy @seanmalloy

Bug Fixes 🐛

  • #181 LowNodeUtilization strategy takes node taints into consideration @jw-s
  • #240 Fix serialization for NodeResourceUtilizationThresholds parameters @ingvagabund
  • #242 Fix container image location in Job and CronJob YAML @seanmalloy
  • #249 Update nodes on every iteration with CLI option --descheduling-interval @ingvagabund
  • #256 Fix early return from PodFitsAnyNode check @damemi
  • #275 RemoveDuplicates strategy now takes container image name into account @damemi
  • #276 Fix serialization for RemovePodsHavingTooManyRestarts parameters @damemi

Others 🏃

  • #233 Update release documentation @seanmalloy
  • #239 Update email address in Dockerfiles @aveshagarwal
  • #244 Create initial user and contributor guides @seanmalloy
  • #255 Update to Go 1.13.9 @seanmalloy
  • #258 Add CI test to verify vendor changes @damemi
  • #256 Fix early return from PodFitsAnyNode check @damemi
  • #260 Update link to contributor cheat sheet @CriaHu
  • #262 Improved LowNodeUtilization performance @ingvagabund
  • #264 Update documentation for RemovePodsViolatingNodeAffinity strategy @ingvagabund
  • #265 Refactor taint code to reduce duplicate code @ingvagabund
  • #266 Refactor maximum pods per nodes check to reduce duplicate code @ingvagabund
  • #278 Update list of strategies in README @lixiang233
  • #279 Add namespace to logs for evicted pods @seanmalloy
  • #280 Update do k8s v1.18 dependencies @damemi
descheduler - Descheduler v0.10.0

Published by aveshagarwal over 4 years ago

Starting with the v0.10.0 release the descheduler now has an official container image in GCR.

docker pull us.gcr.io/k8s-artifacts-prod/descheduler/descheduler:v0.10.0

New Features 🌈

  • Users can specify pods that are safe to evict using annotation descheduler.alpha.kubernetes.io/evict - GH-186
  • Create k8s events when pods are evicted - GH-183
  • New strategy RemovePodsViolatingNodeTaints - GH-175
  • Implement CLI option --descheduling-interval - GH-221

Bug Fixes 🐛

  • Fix duplicate strategy to also take namespace into account - GH-156
  • Spelling fix - GH-178
  • Fix typos in k8s yaml files - GH-193, GH-201

Others 🏃

  • Enable golangci-lint - GH-149
  • Setup official Google Container Registry descheduler container image - GH-160, GH-173, GH-217
  • Improve duplicate strategy unit tests - GH-162
  • Enable e2e tests in TravisCI - GH-169
  • Migrated to kubernets-sigs GitHub organization - GH-182
  • Clean up golint - GH-190
  • Switch from glog to klog - GH-192
  • Bump k8s dependencies to v1.17 - GH-204
  • Update to Go 1.13 - GH-209
  • Update k8s yaml files to use priorityClassName instead of critical-pod annotation - GH-213
descheduler - Version 0.9.0

Published by aveshagarwal over 5 years ago

Bug fixes.

descheduler - Version 0.8.0

Published by aveshagarwal almost 6 years ago

  • Several bug fixes.
descheduler - Version 0.7.0

Published by aveshagarwal about 6 years ago

  • LowNodeUtilization now takes pod priorities into account when evicting pods.
  • Bug fixes.
descheduler - Version 0.6.0

Published by aveshagarwal over 6 years ago

  • Support for auth providers like GCP, OIDC, Azure, OpenStack.
  • Several bux fixes.
descheduler - Version 0.5.0

Published by aveshagarwal over 6 years ago

  • Implementation of a new strategy RemovePodsViolatingNodeAffinity which evicts pods that violate their node affinity requirements.
  • Support for limiting number of pods that can be evicted from each node.
  • Implementation of end-to-end tests
  • Improved build mechanisms
  • Several other bug fixes.
descheduler - Version 0.4.0

Published by aveshagarwal almost 7 years ago

  • Rebase to kube 1.9
  • Improved validation of descheduler policy.
  • Improved logging.
  • Pods with requirements for GPUs are not evicted.
  • Several other bug fixes.
descheduler - Version 0.3.0

Published by aveshagarwal almost 7 years ago

  • Support for node-selector flag to restrict descheduler to run only on specific set of nodes.
  • New RemovePodsViolatingInterPodAntiAffinity strategy to deschedule pods that violate their hard pod anti-affinity requirement.
  • Support for version sub-command
  • Bug fixes.
descheduler - Version 0.2.0

Published by aveshagarwal about 7 years ago

  • Rebase to Kubernetes 1.7.6
  • glog support
  • Updated README describing how to run descheduler as a Job.
  • Bug fixes
descheduler - Version 0.1.0

Published by aveshagarwal about 7 years ago

Version 0.1.0 is the first release of descheduler.

Features:

  1. Support for evicting pods from nodes with higher resource requests (cpu, memory) and number of pods if there are nodes with less resource requests for rebalancing clusters.
  2. Support for evicting pods associated with replication controllers, replica sets, jobs, deployments to make sure only one of their pods runs on one node.
  3. Support for not evicting critical, mirror, daemon sets pods and pods with local storage.
  4. Eviction of pods honors pod disruption budget (PDB).
Package Rankings
Top 1.56% on Proxy.golang.org
Badges
Extracted from project README
Go Report Card
Related Projects