Open universam1 opened 1 week ago
Can you provide your Karpenter configuration? Karpenter should launch nodes into the IPs with the most available IP expect for affinity and topology-spread
. Do you have any spread or affinity on your workloads currently?
Can you provide your Karpenter configuration?
Sure @engedaam , please find the config below
Do you have any spread or affinity on your workloads currently?
We did not - however as a dirty workaround we do now to force Karpenter into the other zones. That is not a solution. I believe it is due to availabilities and costs that Karpenter becomes unbalanced, it is actually flapping. However since it causes downtime for us, it is a severe issue.
Description
Observed Behavior: IP range of one subnet is exhausted causing "dead" nodes while other zones are left empty.
This is a followup of #1810 #1292 as that
topology-spread
solution does not scale on large clusters, accross independent teams, namespaces and such.On dozens of deployments we cannot instruct every developer to care for https://karpenter.sh/v0.10.0/tasks/scheduling/#topology-spread to match exactly accross all teams.
ClusterAutoscaler has this option for a reason https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/FAQ.md#im-running-cluster-with-nodes-in-multiple-zones-for-ha-purposes-is-that-supported-by-cluster-autoscaler
Expected Behavior:
Karpenter will take balancing as a requirement for node scheduling