Azure / Azure/AKS

[Feature] Support cluster-autoscaler drain-priority-config parameter

Open
#4,493 3 comments 11 reactions 1 assignee Claimed by @kevinkrp93 View on GitHub
cluster-autoscaler feature-request
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.