Which component are you using?:
/area cluster-autoscaler
Is your feature request designed to solve a problem? If so describe the problem this feature should solve.:
When scaling down the cluster it is currently not aware of the disruption "cost" action will have. Therefore it can pick node which will be more disruptive than others.
In concrete example, it can pick a node serving more long running processes, therefore shutting it down will make more of them to start over.
Describe the solution you'd like.:
A new annotation cluster-autoscaler.kubernetes.io/disruption-cost with a unit-less numerical value. When deciding on a node to scale down, sum all the annotations from pods on that node an pick one with least cost.
Describe any alternative solutions you've considered.:
Currently there is a safe-to-evict annotation on a pod, but it is a boolean and therefore can stop scale-down event completely if it is set on enough pods. I'd like to influence scale down priority without stopping it entirely.
Additional context.:
Which component are you using?:
/area cluster-autoscaler
Is your feature request designed to solve a problem? If so describe the problem this feature should solve.:
When scaling down the cluster it is currently not aware of the disruption "cost" action will have. Therefore it can pick node which will be more disruptive than others.
In concrete example, it can pick a node serving more long running processes, therefore shutting it down will make more of them to start over.
Describe the solution you'd like.:
A new annotation
cluster-autoscaler.kubernetes.io/disruption-costwith a unit-less numerical value. When deciding on a node to scale down, sum all the annotations from pods on that node an pick one with least cost.Describe any alternative solutions you've considered.:
Currently there is a
safe-to-evictannotation on a pod, but it is a boolean and therefore can stop scale-down event completely if it is set on enough pods. I'd like to influence scale down priority without stopping it entirely.Additional context.: