[WIP] modify autoscaling
What problem does this PR solve?
Reconstructed the autoscaling module, see the doc: docs/design-proposals/2021-07-22-auto-scaling-with-pdapi.md
What is changed and how does it work?
Now autoscaling has two different types: homogeneous scaling and heterogeneous scaling.
- If average cpu/storage usage is larger than MaxThreshold, homogeneous scaling will be performed.
- If average cpu usage is not larger than MaxThreshold, but cpu usages of some instances are larger than MaxThreshold, heterogeneous scaling will be performed.
- Now strategy will include kubernetes node count
- Now MaxThreshold of storage auto rule means maximum storage usage
- Added MinThreshold to storage auto rule
Code changes
- [x] Has Go code change
- [ ] Has CI related scripts change
Tests
- [x] Unit test
- [ ] E2E test
- [ ] Manual test
- [ ] No code
Side effects
- [x] Breaking backward compatibility
- [ ] Other side effects:
Related changes
- [ ] Need to cherry-pick to the release branch
- [ ] Need to update the documentation
Release Notes
Please refer to Release Notes Language Style Guide before writing the release note.
[REVIEW NOTIFICATION]
This pull request has not been approved.
To complete the pull request process, please ask the reviewers in the list to review by filling /cc @reviewer in the comment.
After your PR has acquired the required number of LGTMs, you can assign this pull request to the committer in the list by filling /assign @committer in the comment to help you merge this pull request.
The full list of commands accepted by this bot can be found here.
Reviewer can indicate their review by submitting an approval review. Reviewer can cancel approval by submitting a request changes review.
@romberli: PR needs rebase.
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.