top | item 33691364

(no title)

embik | 3 years ago

This might be true for "stock" Kubernetes, but it seems likely that the grandparent post is using cluster autoscaling (since they mention "auto-scaled up"), for which this post is not accurate.

The cluster-autoscaler component does remove nodes with low utilization and Pods fitting onto other nodes, effectively defragging the cluster. There's just plenty of reasons for it to not drain a node (as per its FAQ[1]).

But it's highly configurable, so I wonder if the grandparent post just needed some configuration changes to suit their scenario better.

[1] https://github.com/kubernetes/autoscaler/blob/master/cluster...

discuss

order

tveita|3 years ago

In particular an ephemeral directory mounted on e.g. /tmp counts as "local storage", so in common configurations nothing will get evicted until you work around it by adding "cluster-autoscaler.kubernetes.io/safe-to-evict": "true" to all deployments.

Silly default IMO but apparently "intentional".

https://github.com/kubernetes/autoscaler/issues/2048

dijit|3 years ago

There’s a lot of autoscalers too to be perfectly honest.

I can’t be sure which one the GP is referring to, but GKE definitely operates the way they described.

embik|3 years ago

Most autoscaling functionality is implemented on top of the upstream cluster-autoscaler component, and GKE documentation claims to remove nodes when pods fit onto other nodes as well[1], so it does have the same "defragging" functionality. It might not be configured aggressive enough for their liking though (but even then, GKE has a more aggressive autoscaling profile that might do the trick).

My point is that while the original post is reporting problems with autoscaling in Kubernetes without enough details to go by, cluster-autoscaler is fairly good at its job of downsizing clusters if you take the time to a) optimize its configuration and b) make sure your workloads are configured in a way that allows downsizing clusters.

[1] https://cloud.google.com/kubernetes-engine/docs/concepts/clu...