Node pools are updated in parallel by default. This can potentially causing two issues:
Quota issue
For each node pool, it will create one surge node, so that N node pools will create N surge nodes when they are updated in parallel. This may result in resource exhaustion if there is limited extra capacity for creating those surge nodes.
PDB deadlock issue
Draining more than one node at a time could potentially cause PDB deadlocks.
This doc shows how to specify a node pool update policy to configure the maximum number of nodes to be updated concurrently during node pool update, which can help avoid the two issues mentioned. 0 means preserving the current parallel behavior, which is the default value. 1 means updating the node pools sequentially.
Note that while sequential update can avoid the two issues, it could make the node pool update process take longer time than updating in parallel.
Configure node pool update policy
In user cluster seed config user-cluster.yaml, you can configure the node pool update to be done sequentially as follows:
nodePoolUpdatePolicy: maximumConcurrentNodePoolUpdate: 1
The maximumConcurrentNodePoolUpdate
can be set to an arbitrary integer value
to configure the number of node pools you want to update at the same time.
The node pool update policy applies to both node pool update and upgrade, but not create. Also in case any node pool update/upgrade encountered issues and got stuck, the current behavior is that we will block there and won't move on to update next node pool.