Resizing a user cluster means adding or removing nodes. Adding nodes
requires that IP addresses are available for the new nodes. You resize a user
cluster by changing the number of replicas in the node pool.
For information on maximum and minimum limits for user clusters, see
Quotas and limits.
If you intend to have N nodes after the resizing, then you must have N + 1 IP
addresses available.
Before resizing a cluster, verify that you have enough IP addresses. How you do
the verification depends on whether the cluster uses a DHCP server or static IP
addresses.
DHCP
If the cluster uses DHCP, check that the DHCP server can provide enough IP
addresses. It must be able to provide at least one more IP address than the
number of nodes that will be in the cluster after the resizing.
Static IPs
How you verify that you have enough static IP addresses depends on whether the
cluster is managed by the GKE On-Prem API. A user cluster is managed by
the GKE On-Prem API if one of the following is true:
The cluster was created in the Google Cloud console, which automatically
configures the GKE On-Prem API to manage the cluster.
If the GKE On-Prem API is managing a user cluster, use the
Google Cloud console to count the number of IPs and add more IPs if needed.
If the user cluster isn't managed by the GKE On-Prem API, you can run
gkectl update cluster first, which verifies whether you've allocated enough
IP addresses in the cluster. If not, you can find the number of extra IP
addresses needed in the error message.
Add static IPs
If the cluster is managed by the GKE On-Prem API, use the
Google Cloud console to add more IP addresses. Otherwise, use the command
line on your admin workstation.
Console
In the Google Cloud console, go to the GKE Enterprise clusters page.
Select the Google Cloud project that the user cluster is in.
In the cluster list, click the name of the cluster, and then click
More details in the Details panel.
In the Networking section, click edit
Edit.
In the Add additional static IP addresses dialog box, click
Add IP Address. Enter the IP address and optionally, a hostname.
Repeat as needed. When finished, click Done.
Verify that all of the IP addresses you intend to use for the user cluster
are included in the IP block file. The IP block file should have at least
one more IP address than the number of nodes that will be in the cluster
after the resizing.
To view the addresses reserved for a user cluster:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-25 UTC."],[[["\u003cp\u003eResizing a user cluster involves adding or removing nodes by adjusting the number of replicas in the node pool.\u003c/p\u003e\n"],["\u003cp\u003eBefore resizing, ensure you have N+1 available IP addresses, where N is the desired number of nodes after resizing.\u003c/p\u003e\n"],["\u003cp\u003eIf using DHCP, the DHCP server must be able to provide at least one more IP address than the number of nodes after resizing; if using static IPs, use the Google Cloud console or \u003ccode\u003egkectl\u003c/code\u003e to manage IPs, based on whether the GKE On-Prem API manages the cluster.\u003c/p\u003e\n"],["\u003cp\u003eTo resize a cluster, use the Google Cloud console or modify the \u003ccode\u003ereplicas\u003c/code\u003e field in the user cluster configuration file via the command line.\u003c/p\u003e\n"],["\u003cp\u003eAfter resizing verify that it has been successful by using the \u003ccode\u003ekubectl get nodes\u003c/code\u003e or \u003ccode\u003ekubectl describe machinedeployments\u003c/code\u003e commands.\u003c/p\u003e\n"]]],[],null,["# Resizing a user cluster\n\n\u003cbr /\u003e\n\nResizing a user cluster means adding or removing nodes. Adding nodes\nrequires that IP addresses are available for the new nodes. You resize a user\ncluster by changing the number of replicas in the node pool.\n\nFor information on maximum and minimum limits for user clusters, see\n[Quotas and limits](/anthos/clusters/docs/on-prem/1.11/quotas).\n\nFor information on managing node pools, see\n[creating and managing node pools](/anthos/clusters/docs/on-prem/1.11/how-to/managing-node-pools).\n\nVerify that enough IP addresses are available\n---------------------------------------------\n\nIf you intend to have N nodes after the resizing, then you must have N + 1 IP\naddresses available.\n\nBefore resizing a cluster, verify that you have enough IP addresses. How you do\nthe verification depends on whether the cluster uses a DHCP server or static IP\naddresses. \n\n### DHCP\n\nIf the cluster uses DHCP, check that the DHCP server can provide enough IP\naddresses. It must be able to provide at least one more IP address than the\nnumber of nodes that will be in the cluster after the resizing.\n\n### Static IPs\n\nHow you verify that you have enough static IP addresses depends on whether the\ncluster is managed by the GKE On-Prem API. A user cluster is managed by\nthe GKE On-Prem API if one of the following is true:\n\n- The cluster was created in the Google Cloud console, which automatically\n configures the GKE On-Prem API to manage the cluster.\n\n- The command `gkectl enroll cluster` was run on a user cluster, which\n [configures it to be managed by the GKE On-Prem API](/anthos/clusters/docs/on-prem/1.11/how-to/enroll-user-cluster).\n\nIf the GKE On-Prem API is managing a user cluster, use the\nGoogle Cloud console to count the number of IPs and add more IPs if needed.\nIf the user cluster isn't managed by the GKE On-Prem API, you can run\n`gkectl update cluster` first, which verifies whether you've allocated enough\nIP addresses in the cluster. If not, you can find the number of extra IP\naddresses needed in the error message.\n\nAdd static IPs\n--------------\n\nIf the cluster is managed by the GKE On-Prem API, use the\nGoogle Cloud console to add more IP addresses. Otherwise, use the command\nline on your admin workstation. \n\n### Console\n\n1. In the Google Cloud console, go to the GKE Enterprise clusters page.\n\n [Go to the GKE Enterprise clusters page](https://console.cloud.google.com/anthos/clusters)\n2. Select the Google Cloud project that the user cluster is in.\n\n3. In the cluster list, click the name of the cluster, and then click\n **More details** in the **Details** panel.\n\n4. In the **Networking** section, click edit **Edit**.\n\n5. In the **Add additional static IP addresses** dialog box, click\n **Add IP Address** . Enter the IP address and optionally, a hostname.\n Repeat as needed. When finished, click **Done**.\n\n### Command line\n\n1. Open the user cluster's [IP block file](/anthos/clusters/docs/on-prem/1.11/how-to/ip-block-file)\n for editing.\n\n2. Verify that all of the IP addresses you intend to use for the user cluster\n are included in the IP block file. The IP block file should have at least\n one more IP address than the number of nodes that will be in the cluster\n after the resizing.\n\n3. To view the addresses reserved for a user cluster:\n\n ```bash\n kubectl get cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG \\\n --namespace USER_CLUSTER_NAME USER_CLUSTER_NAME --output yaml\n ```\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eADMIN_CLUSTER_KUBECONFIG\u003c/var\u003e: the path of the admin cluster kubeconfig file\n - \u003cvar translate=\"no\"\u003eUSER_CLUSTER_NAME\u003c/var\u003e: the name of the user cluster\n4. Add as many additional static IP addresses to the corresponding block as required, and then\n run `gkectl update cluster`.\n\nHere is an example of an IP block file that has four IP addresses and the\ncorresponding hostnames:\n\n```\nhostconfig:\ndns: 172.16.255.1\ntod: 216.239.35.0\nblocks:\n- netmask: 255.255.248.0\n gateway: 21.0.135.254\n ips:\n - ip: 21.0.133.41\n hostname: user-node-1\n - ip: 21.0.133.50\n hostname: user-node-2\n - ip: 21.0.133.56\n hostname: user-node-3\n - ip: 21.0.133.47\n hostname: user-node-4\n```\n\nResize the cluster\n------------------\n\n### Console\n\n1. In the Google Cloud console, go to the GKE Enterprise clusters page.\n\n [Go to the GKE Enterprise clusters page](https://console.cloud.google.com/anthos/clusters)\n2. Select the Google Cloud project that the user cluster is in.\n\n3. In the cluster list, click the name of the cluster, and then click\n **More details** in the **Details** panel.\n\n4. Click the **Nodes** tab.\n\n5. Click the name of the node pool that you want to resize.\n\n6. Click edit **Resize**.\n\n7. In the **Nodes** field, enter the number of nodes that you want in\n the node pool, and then click **Done**.\n\n8. Click arrow_back to go back to the\n previous page.\n\n9. The Google Cloud console displays **Cluster status: changes in\n progress** . Click **Show Details** to view the **Resource status\n condition** and **Status messages**.\n\n### Command line\n\nIn the\n[user cluster configuration file](/anthos/clusters/docs/on-prem/1.11/how-to/user-cluster-configuration-file#nodepool-replicas-field),\nupdate the value of the `replicas` field in one or more of the `nodePools`\nelements.\n\nResize the cluster:\n\n```\ngkectl update cluster --kubeconfig ADMIN_CLUSTER_KUBECONFIG --config USER_CLUSTER_CONFIG\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eADMIN_CLUSTER_KUBECONFIG\u003c/var\u003e: the path of the admin cluster kubeconfig file\n\n- \u003cvar translate=\"no\"\u003eUSER_CLUSTER_CONFIG\u003c/var\u003e: the path of the user cluster configuration file\n\nVerify that the resizing succeeded:\n\n```bash\nkubectl --kubeconfig USER_CLUSTER_KUBECONFIG get nodes\n\nkubectl --kubeconfig USER_CLUSTER_KUBECONFIG describe machinedeployments NODE_POOL_NAME | grep Replicas\n```\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eUSER_CLUSTER_KUBECONFIG\u003c/var\u003e: the path of the user cluster\n kubeconfig file\n\n- \u003cvar translate=\"no\"\u003eNODE_POOL_NAME\u003c/var\u003e: the name of the node pool that you\n resized.\n\nTroubleshooting\n---------------\n\nSee\n[Troubleshooting cluster creation and upgrade](/anthos/clusters/docs/on-prem/1.11/troubleshoot-cluster-creation-upgrade)."]]