Description
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 of 50m
. So if the recommender calculates 79m
as the target CPU, the rounding would automatically round (or ceil) to 100m
. 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 than 1Mi
of memory for their container. Losing 1Mi
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.