This page explains how to resize container clusters. You can resize a container cluster to increase or decrease the number of nodes in that cluster.
Before you begin
To prepare for this task, perform the following steps:
- Ensure that you have installed the Cloud SDK.
- Set your default project ID:
gcloud config set project [PROJECT_ID]
- Set your default compute zone:
gcloud config set compute/zone [COMPUTE_ZONE]
- Update all
gcloudcommands to the latest version:
gcloud components update
Resizing a cluster
To resize your cluster's node pools, perform the following steps:
Visit the Kubernetes Engine menu in GCP Console.
Select the desired cluster.
- Click Edit.
- From the Node pools menu, change the value of the Current size field to the desired value. Repeat for each node pool as needed.
- Click Save.
To resize your cluster's node pools, you use the
clusters resize command. You must specify the cluster's name, the name of
the desired node pool, and the new number of nodes:
gcloud container clusters resize [CLUSTER_NAME] --node-pool [NODE_POOL] \ --size [SIZE]
Repeat this command for each node pool. If your cluster only has its default
node pool, omit the
For more information, refer to the
gcloud container clusters resize
Increasing the size of your cluster
When you increase the size of a cluster:
- New node instances are created using the same configuration as the existing instances
- New Pods may be scheduled onto the new instances
- Existing Pods are not moved onto the new instances
When you increase the size of a node pool that spans multiple zones, the new size represents the number of nodes in the node pool per zone. For example, if you have a node pool of size 2 spanning two zones, the total node count is 4. If you resize the node pool to size 4, the total node count becomes 8.
Decreasing the size of your cluster
When you decrease the size of a cluster:
- The Pods that are scheduled on the instances being removed are killed
- Pods managed by a replication controller are rescheduled by the controller onto the remaining instances
- Pods not managed by a replication controller are not restarted
The managed instance group does not differentiate between instances running Pods and instances without Pods. Resizing down removes instances at random.
Decreasing the size of your cluster with drain
You can manually decrease the size of your cluster and have such instance's Pods be drained before they are removed.
To decrease and drain your cluster, run the following command:
gcloud beta container clusters resize [CLUSTER_NAME] --node-pool [NODE_POOL] \ --size [SIZE]
Autoscaling a cluster
Kubernetes Engine's cluster autoscaler feature automatically resizes your node pools in response to changing conditions, such as changes in your workloads and resource usage.
To learn more about how autoscaling works, refer to the Cluster Autoscaler documentation.