You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Without some active care, we end up with more than 1 core node even though a single core node could handle the CPU/Memory requirements of the core workloads to run on it.
I'd like to go through the current clusters with multiple core nodes to see if we can do some quick and simple actions to reduce a few.
Known reasons for multiple core nodes
A horisontal pod autoscaler adds multiple replicas of a pod that has anti-affinity to itself, making it cause the cluster-autoscaler to start additional core nodes to fit the pod (user nodes are tainted and not tolerated)
Example: GCP, konnectivity-agent - a simple fix has been to tweak a configmap in kube-system declaring how it should scale with the total number of nodes in the cluster so that it doesn't scale up so many konnectivity-agent pods - which is acceptable for this pod.
The amount of allocatable pods per node is filled up
On GKE, we can schedule a bit more than 100 pods per node, but on EKS a 2 CPU node can only fit ~27 pods or so, and a 4 CPU pod can only fit ~57 or so. This is the cause for 2i2c-aws-us having 2 core nodes atm for example.
AWS, 2i2c-aws-us, 2
Core node not out of CPU/Memory, but out of allocatable pods.
AWS, catalystproject-africa, 2
Core node not out of CPU/Memory, but out of allocatable pods.
GCP, cloudbank, 2
OK - out of CPU/memory/pods if using only 1 node
GCP, leap, 3 (now 1)
Failure to scale down after scaling up due to konnectivity-agent and calico-typha horizontal pod autoscaler scaling up as for example ~100 dask worker nodes get started.
I manually drained the two extra core nodes, but ideally we could get the cluster-autoscaler to scale down these nodes being almost empty by itself when the massive dask-worker node count has decreased.
GCP, pangeo-hubs, 4 (now 2)
Same as leap, but could not go to a single core node since prometheus-server had massive memory requests, so reduced from 4 to 2.
Without some active care, we end up with more than 1 core node even though a single core node could handle the CPU/Memory requirements of the core workloads to run on it.
I'd like to go through the current clusters with multiple core nodes to see if we can do some quick and simple actions to reduce a few.
Known reasons for multiple core nodes
konnectivity-agent
pods - which is acceptable for this pod.On GKE, we can schedule a bit more than 100 pods per node, but on EKS a 2 CPU node can only fit ~27 pods or so, and a 4 CPU pod can only fit ~57 or so. This is the cause for
2i2c-aws-us
having 2 core nodes atm for example.Current core node count
Related
calico-typha
pods, andkonnectivity-agent
pods #2490Action points
AKS / UToronto: calico-typha scaled to three replicas, forcing three core nodes #3592 (comment)
Core node not out of CPU/Memory, but out of allocatable pods.
Core node not out of CPU/Memory, but out of allocatable pods.
OK - out of CPU/memory/pods if using only 1 node
Failure to scale down after scaling up due to konnectivity-agent and calico-typha horizontal pod autoscaler scaling up as for example ~100 dask worker nodes get started.
I manually drained the two extra core nodes, but ideally we could get the cluster-autoscaler to scale down these nodes being almost empty by itself when the massive dask-worker node count has decreased.
Same as leap, but could not go to a single core node since prometheus-server had massive memory requests, so reduced from 4 to 2.
I think the followup action I'd like to take can be tracked by Reduce cost of 2i2c-aws-us (and catalystproject-africa) by reducing core nodes from 2 to 1 #4003.
The text was updated successfully, but these errors were encountered: