All Projects → jthomperoo → Predictive Horizontal Pod Autoscaler

jthomperoo / Predictive Horizontal Pod Autoscaler

Licence: apache-2.0
Horizontal Pod Autoscaler built with predictive abilities using statistical models

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Predictive Horizontal Pod Autoscaler

Keda
KEDA is a Kubernetes-based Event Driven Autoscaling component. It provides event driven scale for any container running in Kubernetes
Stars: ✭ 4,015 (+2941.67%)
Mutual labels:  hacktoberfest, autoscaling
Custom Pod Autoscaler
Custom Pod Autoscaler base, allows creation of Custom Pod Autoscalers
Stars: ✭ 148 (+12.12%)
Mutual labels:  hacktoberfest, autoscaling
Yii2 Twig
Yii 2 Twig extension.
Stars: ✭ 130 (-1.52%)
Mutual labels:  hacktoberfest
Shuffle
Shuffle every song in existence from YouTube
Stars: ✭ 131 (-0.76%)
Mutual labels:  hacktoberfest
Showmethexaml
A WPF component making it easy to show the corresponding XAML for WPF custom styles and controls
Stars: ✭ 130 (-1.52%)
Mutual labels:  hacktoberfest
Skip Silence
🔇 Chrome extension to skip silent parts in videos and audio files on any webpage
Stars: ✭ 130 (-1.52%)
Mutual labels:  hacktoberfest
Gadfly.jl
Crafty statistical graphics for Julia.
Stars: ✭ 1,724 (+1206.06%)
Mutual labels:  hacktoberfest
Ember Data Url Templates
an ember-addon to allow building urls with url templates instead of defining buildURL
Stars: ✭ 130 (-1.52%)
Mutual labels:  hacktoberfest
Email Outlook Message Perl
Email::Outlook::Message Perl module for reading Outlook .msg files
Stars: ✭ 131 (-0.76%)
Mutual labels:  hacktoberfest
Docker Influxdb Grafana
A Docker container which runs InfluxDB and Grafana ready for persisting data
Stars: ✭ 130 (-1.52%)
Mutual labels:  hacktoberfest
Health
Laravel Health Panel
Stars: ✭ 1,774 (+1243.94%)
Mutual labels:  hacktoberfest
Linearprogressbar
Material Linear Progress Bar for your iOS apps
Stars: ✭ 131 (-0.76%)
Mutual labels:  hacktoberfest
Cicerone
🏛️ Give tours of your Shiny apps
Stars: ✭ 131 (-0.76%)
Mutual labels:  hacktoberfest
Homebrew Openjdk
AdoptOpenJDK HomeBrew Tap
Stars: ✭ 1,798 (+1262.12%)
Mutual labels:  hacktoberfest
Amplitude Android
Native Android SDK for Amplitude
Stars: ✭ 129 (-2.27%)
Mutual labels:  hacktoberfest
Umodbus
Python implementation of the Modbus protocol.
Stars: ✭ 129 (-2.27%)
Mutual labels:  hacktoberfest
Easy Build
Collection of Dockerfiles for building embedded software distributions
Stars: ✭ 130 (-1.52%)
Mutual labels:  hacktoberfest
Fossurl
Your Own Url Shortner Without any fancy server side processing and support for custom url , which can even be hosted on GitHub Pages
Stars: ✭ 131 (-0.76%)
Mutual labels:  hacktoberfest
Zebrunner
Zebrunner is a Test Automation Management Tool
Stars: ✭ 131 (-0.76%)
Mutual labels:  hacktoberfest
Blizzard Jailbreak
An Open-Source iOS 11.0 -> 11.4.1 (soon iOS 13) Jailbreak, made for teaching purposes.
Stars: ✭ 130 (-1.52%)
Mutual labels:  hacktoberfest

Build codecov go.dev Go Report Card Documentation Status License

This project is supported by:

Predictive Horizontal Pod Autoscaler

This is a Custom Pod Autoscaler; building on the Horizontal Pod Autoscaler functionality to add predictive capabilities by using various statistical methods.

This uses the Horizontal Pod Autoscaler Custom Pod Autoscaler extensively to provide most functionality for the Horizontal Pod Autoscaler parts.

How does it work?

This project works by calculating the number of replicas a resource should have, then storing these values and using statistical models against them to produce predictions for the future. These predictions are compared and can be used instead of the raw replica count calculated by the Horizontal Pod Autoscaler logic.

Features

  • Functionally identical to Horizontal Pod Autoscaler for calculating replica counts without prediction.
  • Choice of statistical models to apply over Horizontal Pod Autoscaler replica counting logic.
    • Holt-Winters Smoothing
    • Linear Regression
  • Allows customisation of Kubernetes autoscaling options without master node access. Can therefore work on managed solutions such as EKS or GCP.
    • CPU Initialization Period.
    • Downscale Stabilization.
    • Sync Period.
    • Initial Readiness Delay.
  • Runs in Kubernetes as a standard Deployment.

More information

See the wiki for more information, such as guides and references.

Developing this project

Environment

Developing this project requires these dependencies:

To view docs locally, requires:

Commands

  • go mod vendor - generates a vendor folder.
  • make - builds the Predictive HPA binary.
  • make docker - builds the Predictive HPA image.
  • make lint - lints the code.
  • make unittest - runs the unit tests
  • make doc - hosts the documentation locally, at 127.0.0.1:8000.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].