[Feature] Support cluster-autoscaler drain-priority-config parameter
- Dominant language
- TypeScript
- Stars
- 2.1k
- Forks
- 395
- Avg merge
- 2d 22h
- Merged PRs (30d)
- 13
Description
**Is your feature request related to a problem? Please describe.**
Cluster auto scaler may drain daemonset pods before dependent pods in some cases because `daemonset-eviction-for-occupied-nodes` is default true. This can mean that for example csi or cni pods can be drained before low-priority dependent pods are gracefully shutdown and have been able to flush caches or unmount volumes etc.
**Describe the solution you'd like**
Cluster autoscaler supports configuring drain priority since version 1.29. With this parameter we can configure high priority pods to drain after low priority pods.
**Describe alternatives you've considered**
We can set `daemonset-eviction-for-occupied-nodes` to false so daemonset pods are not evicted, however now daemonsets will not receive a graceful shutdown. It would be better to set the drain priority so both low and high priority pods receive graceful shutdown, but in the correct order.
**Additional context**
Implementation PR in kubernetes/auto-scaler: https://github.com/kubernetes/autoscaler/pull/6139
Contributor guide
Assessment
This issue has not been assessed yet.