-
Notifications
You must be signed in to change notification settings - Fork 4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support rounding of Resource Recommendations in the VPA Recommender #7677
Comments
/area vertical-pod-autoscaler |
There is a new feature (that hasn't been released yet) that @omerap12 built to humanise the recommendations, take a look here: https://github.com/kubernetes/autoscaler/blob/5cd491a5a18b4b93f742351e3ebb195e358d2ea3/vertical-pod-autoscaler/docs/features.md#memory-value-humanization Does that solve your problem? (side note: we plan on doing another VPA release soon, which should include this feature.) |
Ah, thanks for the link - that seems like the same thing minus the rounding support for CPU. |
🤦 of course, this is memory only. |
I guess we need to have similar feature for CPU. Issue opened: #7678 |
@adrianmoisey Yup, sounds good to me. Please close and mark with whichever tags applicable. |
/close |
@omerap12: Closing this issue. In response to this:
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-sigs/prow repository. |
Which component are you using?:
VPA Recommender
Is your feature request designed to solve a problem? If so describe the problem this feature should solve.:
Currently the resource recommendations provided by the VPA recommender have no rounding. This makes it particularly difficult to read memory recommendations as the value will often be precisely defined in bytes (e.g. 23490547483) and won't evenly divide into Ki/Mi/Gi. It would be desirable if the recommendations could be configured so that they are rounded to the nearest Ki/Mi/Gi, and/or to the nearest N'th integer (e.g. round millicores to the nearest factor 10/50/100).
Describe the solution you'd like.:
Ideally the user could pass in a CLI argument into the recommender for rounding millicores and bytes respectively. For example
--rounding-factor-millicores=50
would round to the nearest factor of50m
. So if the recommender calculates79m
as the target CPU, the rounding would automatically round (or ceil) to100m
. The same goes for memory - there could be another flag that rounds to the nearest Ki,Mi,Gi (e.g.--rounding-unit-memory=Mi
for the lack of a better term).Describe any alternative solutions you've considered.:
An alternative solution could be just automatically rounding/ceiling memory to the nearest
Mi
since users will rarely if ever need to request less than1Mi
of memory for their container. Losing1Mi
of precision should be negligable.Additional context.:
The bottommost pod is automatically scaled by the VPA, but its resource requests don't align with the other nice round numbers because the VPA has no rounding. This also makes it difficult and time consuming to tell if the memory is ~140Mi, ~1.4Gi, or ~14Gi at face value.
The text was updated successfully, but these errors were encountered: