I have a GKE cluster with n nodes (2 nodes with 1 CPU each in this example), running a stress test. I want them scaling without stopping running pods.
The cluster has autoscale enabled and a node pool with autoscale enabled.
After reaching about 50 pods the memory/CPU ends up, and the cluster starts creating a new node in a different node pool. Why not in the current pool?
After lanunching a new node the cluster crashes completely:
no one node is running;
some nodes are unschedulable with these warnings:
"Cannot schedule pods: Insufficient memory."
"Cannot schedule pods: node(s) had taints that the pod didn't tolerate." (I didn't set any taint though)
others are in Pending state.
What I want to achieve:
- keep existing pods running without crashing;
- get the new pods created and kept in Pending state until the new node is created;
- the new node is created in the node pool with the instance template I have chosen.