- Home
- Google Kubernetes Engine (GKE)
- Documentation
- Guides
Standard
This page explains how to manually resize Google Kubernetes Engine (GKE)Standard clusters. You can resize a cluster to increase or decrease thenumber of nodes in that cluster. Alternatively, you can autoscaleyour cluster, where GKE automatically resizes your node pools inresponse to changing conditions, such as changes in your workloads and resourceusage.
These instructions don't apply to GKEAutopilotclusters, which automatically resize based on the number of Pods in the cluster.
When you add or remove nodes in your cluster, GKE adds or removesthe associated virtual machine (VM) instances from the underlyingCompute Engine Managed Instance Groups(MIGs) provisioned foryour node pools. For removing nodes, do not use kubectl delete node
as thisdoes not delete the Compute Engine VM instance in the node pool's underlyingMIG. Use cluster autoscaler or manually decrease the size of yourcluster.
Before you begin
Before you start, make sure you have performed the following tasks:
- Enable the Google Kubernetes Engine API. Enable Google Kubernetes Engine API
- If you want to use the Google Cloud CLI for this task, install and then initialize the gcloud CLI. If you previously installed the gcloud CLI, get the latest version by running
gcloud components update
.
Increase the size of your cluster
When you increase the size of a cluster, the following changes occur:
- New node instances are created using the same configuration as the existinginstances.
- New Pods may be scheduled on the new instances.
Existing Pods are not moved to the new instances.
gcloud
To increase the size of a cluster's node pools, run the gcloud container clusters resize command:
gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \ --num-nodes NUM_NODES
Replace the following:
CLUSTER_NAME
: the name of the cluster to resize.POOL_NAME
: the name of the node pool to resize.NUM_NODES
: the number of nodes in the pool in azonal cluster. If you use multi-zonal or regional clusters,NUM_NODES
is the number of nodes for each zone thenode pools is in.
Repeat this command for each node pool. If your cluster has only one nodepool, omit the --node-pool
flag.
Console
To increase the size of a cluster's node pools, perform the following steps:
Go to the Google Kubernetes Engine page in the Google Cloud console.
Go to Google Kubernetes Engine
Beside the cluster you want to edit, click more_vertActions, then click Edit.
Click the Nodes tab next to the Details tab.
In the Node Pools section, click the name of the node pool that youwant to increase in size.
Click edit Resize.
In the Number of nodes field, enter how many nodes that you want inthe node pool, and then click Resize.
Repeat for each node pool as needed.
Decrease the size of your cluster
When you decrease the size of a cluster, the following changes occur:
- GKE gracefully terminates nodes that are being deleted, usingthe drain process to remove the Pods from the instance.
PodDisruptionBudget
andterminationGracePeriodSeconds
are both respected for up to one hour. - Pods managed by a replication controller are rescheduled by the controllerto run on the remaining instances.
- Pods not managed by a replication controller are not restarted.
The MIG does not differentiate between instances runningPods and instances without Pods. Resizing down removes instances at random.
To learn how to add node pools and to manage existing ones, refer toAdding and managing node pools.
gcloud
To decrease the size of a cluster's node pools, run the gcloud container clusters resize command:
gcloud container clusters resize CLUSTER_NAME --node-pool POOL_NAME \ --num-nodes NUM_NODES
Replace the following:
CLUSTER_NAME
: the name of the cluster to resize.POOL_NAME
: the name of the node pool to resize.NUM_NODES
: the number of nodes in the pool in azonal cluster. If you use multi-zonal or regional clusters,NUM_NODES
is the number of nodes for each zone thenode pools is in.
Repeat this command for each node pool. If your cluster has only one nodepool, omit the --node-pool
flag.
Console
To decrease the size of a cluster's node pools, perform the following steps:
Go to the Google Kubernetes Engine page in the Google Cloud console.
Go to Google Kubernetes Engine
Beside the cluster you want to edit, click more_vertActions, then click Edit.
Click the Nodes tab next to the Details tab.
In the Node Pools section, click the name of the node pool that youwant to decrease in size.
Click edit Resize.
In the Number of nodes field, enter how many nodes that you want inthe node pool, and then click Resize.
Repeat for each node pool as needed.
Autoscaling a cluster
GKE's cluster autoscaler feature automatically resizesyour node pools in response to changing conditions, such as changes in yourworkloads and resource usage.
To learn more about how autoscaling works, refer to the cluster autoscalerdocumentation. To set up autoscaling for your cluster, seeAutoscaling a cluster.
What's next
- Learn more about clusters.
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2024-09-10 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "otherDown", "label":"Other" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Easy to understand" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Solved my problem" },{ "type": "thumb-up", "id": "otherUp", "label":"Other" }]