v0.2.0
🚩 This is a HUGE milestone release that fully supports predictive scaling and custom metrics!
✨ Highlight
- Introduce predictive scaling based on the "Traffic-Driven Replicas Prediction" algorithm which has been used on a large scale in production at Ant Group. Try predictive scaling or learn more about the algorithm.
- Fully supports custom metrics for autoscaling with a configuration that is fully compatible with the one used by Prometheus Adapter. Learn more.
📝 What's Changed
- HorizontalPortrait: fix float64 field parse issue by @zqzten in #33
- Update issue templates by @zqzten in #34
- Fix github issue template config file name extension by @zqzten in #35
- HorizontalPortrait: introduce external algorithm job apis and mechanism by @zqzten in #36
- Make util.BuildControllerOwnerRef behave the same as metav1.NewControllerRef by @zqzten in #40
- HorizontalPortrait: Support Kubernetes CronJob as external horizontal portrait algorithm job by @dayko2019 in #41
- Use SSA (Server-Side Apply) in Makefile by @dayko2019 in #44
- Add unit tests for util/common.go file by @dayko2019 in #45
- Introduce complete metric query support to Prometheus metric provider by @zqzten in #46
- Add a flag to disable admission webhooks by @zqzten in #47
- Remove redundant examples dir by @zqzten in #48
- Introduce general gRPC server by @zqzten in #51
- Enhancements of prometheus metric provider: query range sharding & more client configs by @zqzten in #52
- Expose the unified metric provider interface as a service by @dayko2019 in #43
- chore: simplify referral license by @zqzten in #53
- HorizontalPortrait: Introduce fully functional k8s HPA reactive scaling by @zqzten in #54
- Utilize k8s code dep to reduce code dup by @zqzten in #55
- Introduce workload external metric query with prom provider support by @zqzten in #56
- HorizontalPortrait: Introduce ConfigMap horizontal result fetcher by @zqzten in #58
- Introduce object selector to restrict controller list watch by @zqzten in #59
- Update manifests by @zqzten in #60
- Algo: Introduce algorithms for predictive scaling by @zqzten in #62
- Algo: Introduce replicas prediction job by @dayko2019 in #63
- Algo: Introduce grpc proto by @dayko2019 in #64
- Algo: support test dataset size config for replica estimation & other tweaks by @zqzten in #65
- Introduce ready pods only filtering to workload resource query by @zqzten in #66
- Algo: enable ReadyPodsOnly feature filtering for resource metrics query by @dayko2019 in #67
- HorizontalPortrait: Unify algorithm job namespace & introduce template defaulting by @zqzten in #69
- HorizontalPortrait: Support service account defaulting for algorithm job by @zqzten in #70
- Algo: Support custom worker num of data loader of TSF & improve error handling of RE by @zqzten in #71
- Algo: optimize algorithm code structure & add model training scripts by @dayko2019 in #72
- Algo: Introduce conda env file and dockerfile for horizontal predictive by @zqzten in #73
- Update manifests for v0.2 by @zqzten in #74
- Algo: No splitting error messages by @zqzten in #75
- Update docs by @zqzten in #76
- Update CI by @zqzten in #77
- CI: Fix duplicate release workflow name by @zqzten in #78
- algo: fix metric name fetching by @dayko2019 in #79
- Algo: Make tsf model train script more general by @zqzten in #80
Full Changelog: v0.1.0...v0.2.0