NODE_POOL_NAME: the name of the node pool to delete
CLUSTER_NAME
GOOGLE_CLOUD_LOCATION
If the command returns an error and the delete fails, you can force the
deletion by running the command again with the --ignore-errors flag.
This flag is available in version 1.29 and later.
How GKE on AWS protects workloads during node pool deletion
During node pool deletion, GKE on AWS performs graceful shut down on
each node without honoring PodDisruptionBudget. It takes the following
steps:
Disable cluster autoscaler if it was enabled.
Set up a deadline for the draining process. After this deadline, even if
there are still Pod objects existing, GKE on AWS stops draining and
proceeds to deleting underlying virtual machines. The default deadline is 5
minutes. For every 10 more nodes, 5 more minutes is added.
Cordon all the nodes in the node pool.
Before deadline is met, delete Pod objects in the node pool with best efforts.
Delete all the underlying compute resources.
Delete a cluster
Before deleting a cluster, make sure that you have deleted all of its node pools.
Console
In the Google Cloud console, go to the Google Kubernetes Engine clusters
overview page.
GOOGLE_CLOUD_LOCATION: the Google Cloud location
hosting this cluster
If the command returns an error and the delete fails, you can force the
deletion by running the command again with the --ignore-errors flag.
This flag is available in version 1.29 and later.
[[["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-09-02 UTC."],[],[],null,["This page explains how to delete a node pool and a cluster.\n| **Warning:** Soon after you delete a Google Cloud project, the resources in AWS are permanently deleted. To safeguard against the accidental deletion of a Google Cloud project, use a [Project lien](/resource-manager/docs/project-liens).\n\nDelete a node pool\n\nTo delete a cluster, you must first delete all of its node pools. \n\nConsole\n\n1. In the Google Cloud console, go to the **Google Kubernetes Engine clusters\n overview** page.\n\n [Go to GKE clusters](https://console.cloud.google.com/kubernetes/list/overview)\n2. Select the Google Cloud project that the cluster is in.\n\n3. In the cluster list, select the name of the cluster, and then select\n **View details** in the side panel.\n\n4. Select the **Nodes** tab to see a list of all the node pools.\n\n5. Select a node pool from the list.\n\n6. Near the top of the window, click delete **Delete**.\n\n If the delete fails, follow the steps in the `gcloud` tab and add the\n `--ignore-errors` flag to the `gcloud container aws node-pools delete`\n command.\n\ngcloud\n\n1. Get a list of your node pools:\n\n gcloud container aws node-pools list \\\n --cluster \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e \\\n --location \u003cvar translate=\"no\"\u003eGOOGLE_CLOUD_LOCATION\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e: the name of the cluster that the node pool is attached to\n - \u003cvar translate=\"no\"\u003eGOOGLE_CLOUD_LOCATION\u003c/var\u003e: the Google Cloud location hosting the node pool\n2. For each of your node pools, delete it with the following command:\n\n gcloud container aws node-pools delete \u003cvar translate=\"no\"\u003eNODE_POOL_NAME\u003c/var\u003e \\\n --cluster \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e \\\n --location \u003cvar translate=\"no\"\u003eGOOGLE_CLOUD_LOCATION\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eNODE_POOL_NAME\u003c/var\u003e: the name of the node pool to delete\n - \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e\n - \u003cvar translate=\"no\"\u003eGOOGLE_CLOUD_LOCATION\u003c/var\u003e\n\n If the command returns an error and the delete fails, you can force the\n deletion by running the command again with the `--ignore-errors` flag.\n This flag is available in version 1.29 and later.\n | **Caution:** Adding the `--ignore-errors` flag to the delete command might result in orphaned AWS resources. If that happens, consult the AWS documentation on how to remove the orphaned resources.\n\nHow GKE on AWS protects workloads during node pool deletion\n\nDuring node pool deletion, GKE on AWS performs graceful shut down on\neach node without honoring PodDisruptionBudget. It takes the following\nsteps:\n\n1. Disable cluster autoscaler if it was enabled.\n2. Set up a deadline for the draining process. After this deadline, even if there are still Pod objects existing, GKE on AWS stops draining and proceeds to deleting underlying virtual machines. The default deadline is 5 minutes. For every 10 more nodes, 5 more minutes is added.\n3. Cordon all the nodes in the node pool.\n4. Before deadline is met, delete Pod objects in the node pool with best efforts.\n5. Delete all the underlying compute resources.\n\nDelete a cluster\n\nBefore deleting a cluster, make sure that you have deleted all of its node pools.\n**Note:** To delete a cluster, you must have the [GKE Multi-Cloud API role](/kubernetes-engine/multi-cloud/docs/aws/how-to/create-aws-iam-roles#create_role) configured to allow the GKE Multi-Cloud API to manage your cluster resources. If this role is not properly configured, GKE cannot delete the associated resources. \n\nConsole\n\n1. In the Google Cloud console, go to the **Google Kubernetes Engine clusters\n overview** page.\n\n [Go to GKE clusters](https://console.cloud.google.com/kubernetes/list/overview)\n2. Select the Google Cloud project that the cluster is in.\n\n3. In the cluster list, select the name of the cluster, and then select\n **View details** in the side panel.\n\n4. Near the top of the window, click delete **Delete**.\n\n If the delete fails, follow the steps in the `gcloud` tab and add the\n `--ignore-errors` flag to the `gcloud container aws clusters delete`\n command.\n\ngcloud\n\nTo delete a cluster, run the following command: \n\n gcloud container aws clusters delete \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e \\\n --location \u003cvar translate=\"no\"\u003eGOOGLE_CLOUD_LOCATION\u003c/var\u003e\n\nReplace the following:\n\n- \u003cvar translate=\"no\"\u003eCLUSTER_NAME\u003c/var\u003e: the name of the cluster to delete\n- \u003cvar translate=\"no\"\u003eGOOGLE_CLOUD_LOCATION\u003c/var\u003e: the Google Cloud location\n hosting this cluster\n\n If the command returns an error and the delete fails, you can force the\n deletion by running the command again with the `--ignore-errors` flag.\n This flag is available in version 1.29 and later.\n | **Caution:** Adding the `--ignore-errors` flag to the delete command might result in orphaned AWS resources. If that happens, consult the AWS documentation on how to remove the orphaned resources.\n\nWhat's next\n\n- For more information, see the [`gcloud container aws clusters delete`](https://cloud.google.com/sdk/gcloud/reference/container/aws/clusters/delete) documentation."]]