Predictive Horizontal Pod Autoscaler Versions Save

Horizontal Pod Autoscaler built with predictive abilities using statistical models

v0.13.2

10 months ago

[v0.13.2] - 2023-07-01

Changed

  • Upgraded statsmodels to 0.14.0.
  • Upgraded dataclasses-json to 0.5.8.

v0.13.1

1 year ago

[v0.13.1] - 2023-03-07

Changed

  • Upgraded to Go v1.20.
  • Upgraded package dependencies.

v0.13.0

1 year ago

[v0.13.0] - 2023-01-16

Added

  • New ability to choose a start interval for a model, e.g. a holt winters model that only starts at the next full hour.
    • startInterval is an optional duration that defines the next interval to start at. For example 1m would start the model recording data and calculating after the next full minute has passed.
  • New ability to clear a model's replica history if too much time has passed since it last recorded any data.
    • resetDuration is an optional duration that defines how long should be allowed to pass without a model recording any data, if that occurs the replica history is cleared and if a start interval is provided a new start time is calculated. If a model is not calculated for an extended period of time (e.g. a cluster being powered off) this allows old data to be cleared out and not used in calculations and a new start time calculated to respect any provided interval. For example 3m would clear the model's replica history (and reset the start time if interval is provided) if it has been more than 3 minutes since the last data was recorded for the model.

Changed

  • BREAKING CHANGE typo fixed, ModelHistory.ReplicaHistroy renamed to ModelHistory.ReplicaHistory.

v0.12.0

1 year ago

[v0.12.0] - 2023-01-15

Changed

  • See the migration guide from v0.11.2 here.
  • BREAKING CHANGE PHPA spec upgraded from autoscaling/v2beta2 to autoscaling/v2 for the following definitions:
    • CrossVersionObjectReference in the scaleTargetRef field.
    • MetricSpec in the metrics field.
    • MetricStatus in the currentMetrics field.
  • Upgraded to k8shorizmetrics v2.0.0.
  • Upgraded from autoscaling/v2beta2 to autoscaling/v2.
  • Upgraded to Go v1.19.

Removed

  • BREAKING CHANGE Removed downscaleStabilization, replaced with behavior, scaleDown, stabilizationWindowSeconds.

Added

v0.11.2

1 year ago

Fixed

  • Bug that would display a statsmodels error when using Holt-Winters and having too few observations (less than 2 * seasonal periods).

v0.11.1

1 year ago

[v0.11.1] - 2022-07-23

Fixed

  • Bug that caused the autoscaler to fail to scale every time, due to invalid K8s GVR resource fed to the scaling client.

v0.11.0

1 year ago

[v0.11.0] - 2022-07-23

Changed

  • See the migration guide from v0.10.0 here.
  • BREAKING CHANGE: Major rewrite converting this project from a Custom Pod Autoscaler to have its own dedicated CRD and operator.
    • Configuration and deployment has changed completely, no longer need to install the Custom Pod Autoscaler Operator, instead you need to install the Predictive Horizontal Pod Autoscaler as an operator.
    • No longer deployed as CustomPodAutoscaler custom resources, now deployed as PredictiveHorizontalPodAutoscaler custom resources.
  • BREAKING CHANGES: Several configuration options renamed for clarity.
    • LinearModel -> storedValues renamed to LinearModel -> historySize
    • Model -> perInterval renamed to Model -> perSyncPeriod
  • BREAKING CHANGES: perSyncPeriod behaviour changed slightly, now it will no longer calculate the prediction, but it will still update the replica history available to make a prediction with and prune the replica history if needed.
  • Holt-Winters runtime hooks format changed:
    • evaluations renamed to replicaHistory.
    • Format change for replicaHistory, now in the format [{"time": "<timestamp>", "replicas": <replica count>}].
  • Upgrade to Go v1.18.
  • No longer SQLite based storage, instead using Kubernetes configmaps which give persistent storage by default with resiliency when the autoscaler operator restarts.

Removed

v0.10.0

2 years ago

[v0.10.0] - 2022-05-14

Changed

  • Removed dependency on jthomperoo/horizontal-pod-autoscaler in favour of jthomperoo/k8shorizmetrics.
  • Bump jthomperoo/custom-pod-autoscaler to v2.6.0.
  • Upgrade to Go v1.17.

v0.9.0

2 years ago

[v0.9.0] - 2021-12-28

Added

  • Support for argoproj.io/v1alpha1 Rollout resource.

Changed

  • Bump jthomperoo/custom-pod-autoscaler to v2.3.0
  • Bump jthomperoo/horizontal-pod-autoscaler to v0.8.0

v0.8.0

2 years ago

[v0.8.0] - 2021-08-15

Changed

  • Updated to Custom Pod Autoscaler v2.2.0.
  • Updated to Horizontal Pod Autoscaler CPA v0.7.0.

Fixed

  • Linear regression no longer fails on first run.