So here's a sample scenario I'm trying to utilize in terms of K8s node resources.
Let's say we have 3 (worker) nodes - same type - with these resource requests allocated:
- N1: 70%
- N2: 60%
- N3: 50%
I'd like to ideally rebalance the nodes (pods on the node) so it I can delete N3 (or any one of them):
- N1: 70% + 20% from N3
- N2: 60% + 30% from N3
- N3: to be deleted
(all numbers are hypothetical and simplified, I just wanna get to the least waste
/least number of nodes required for this)
I'm looking at the descheduler which could potentially help to utilize the nodes/cluster.
I'm thinking to set the threshold
= targetThresholds
= 90% (or something similar) in LowNodeUtilization policy, and then use either HighNodeUtilization or Cluster Autoscaler to downsize the cluster (i.e. remove the node)
- I'm not clear if I can use multiple
strategies
fordescheduler
(if so, what's the precedence) - Should I use the
HighNodeUtilization
orCluster Autoscaler
for downsizing?
Any comment/feedback on this approach (or any other suggestion) is appreciated.