Skip to content

Latest commit

 

History

History
44 lines (31 loc) · 1.81 KB

README.md

File metadata and controls

44 lines (31 loc) · 1.81 KB

k8autotune - Automatic Tuner for Kubernetes

This service evaluates POD parameters to determine a better configuration to improve the resource use reducing the total number of nodes a cluster will need.

The current resources spec is taken from the POD controller and K8AutoTune will monitor the POD activity so both values will be checked adjusting their values if there is a big gap between both values.

Different strategies will be allowed to decide the best value for each use profile.

Mocks

To recreate mocks do:

$GOPATH/bin/mockery --all

Roadmap

Version 0.1

  • Handle Deployments
  • Measure CPU activity
  • Automatically adjust CPU ussage
  • Use Prometheus as metrics source
  • Update limit if needed

Pending

  • Allow to configure namespaces to include
  • Persist metrics ussage locally in file system
  • Automatically adjust Memory ussage
  • Allow to annotate objects to configure behaviour
  • Configure by custom resource
  • Emit allert of changes
  • Emit allert of exceptional conditions (like possible memory leaks)
  • Take into account warm-up times for heavy PODs (like those that use a JVM)
  • Let one controller to stabilize before tuning next
  • [ ]

References

Here many sources with good ideas many of them used in this project