2

Is it possible to keep always one additional node in GKE autopilot reserved besides of the currently used nodes to help reduce scaling time?
For example if we currently have 5 nodes and there is a spike in the application traffic, it often happens that the current 5 nodes don't have any more free resources to handle our application and there is a ~2 minute wait time until a new node is allocated.
We would like to always keep a free node allocated, so when there is a need for scale, we can deploy the application fast (because for a Node.js application with a 5 second start time, the extra 2 minutes wait time is a bit annoying).
Is it currently possible to keep an empty node allocated for such situations?

Krisztian
  • 45
  • 2
  • 5

1 Answers1

4

Yes it is possible, but you will be paying extra for allocated resources.

The idea here is to create a separate Deployment for 'placeholder' POD with lowest possible priority and resources that you need allocate upfront (CPU/Memory - it should be at least the size of your largest POD). You can add more Replicas to allocate more resources in order to have at least one node always on standby. In case of sudden spike in application traffic, this POD will be preempted by deployment with higher priority and another node will be created if needed for 'placeholder' POD.

Please read this great artictle with .yaml snippets

Szymon Tomczyk
  • 1,219
  • 11
  • 16