Skip to content

Declarative Cron-based Horizontal Pod Autoscaler for Kubernetes

License

Notifications You must be signed in to change notification settings

kubernetes-misc/chpa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

CHPA

  codebeat badge 

Declarative Cron-based Horizontal Pod Autoscaler for Kubernetes

Features

Trigger different HPAs with cron jobs

  • CRD for Kubernetes called cronhpa or chpa. See yaml/ directory.
  • Specify a conventional cron or a cron with seconds.
  • Specify different CPU load, min replicas and max replicas to be applied to a named horizontal pod autoscaler.
  • Deployment replicas is updated to min replicas in the CRD.
  • All namespaces are searched for entries matching the CRD allowing multiple teams to make use of them.

Roadmap

Version 1

  • Docs (running, deployment and production)
  • Yaml for Kubernetes deployment
  • HA: interim strategy involving redundant imperative approach
  • HA: Integration with etcd to allow for HA deployment and locking when carrying out jobs
  • Investigate different concurrency model for increased reliability in various failure cases

Version 2

  • More options around how to kube conf - using in-cluster authentication, RBAC instead
  • Investigate using selectors to pick HPAs - Kevin
  • Investigate approaching as an Operator
  • Investigate pointing to the official HPA API client struct
  • Exclude namespaces