Skip to main content
In this guide, you’ll learn how to enable and manage autoscaling for your Google Kubernetes Engine (GKE) clusters and node pools using the gcloud CLI. We’ll cover cluster creation with autoscaling, verifying configurations, and updating existing pools.

Overview

Autoscaling in GKE lets your cluster grow or shrink node capacity automatically based on workload. Configuring autoscaling properly helps you optimize cost and performance.

Prerequisites

  • A Google Cloud project with billing enabled
  • Cloud SDK (gcloud) installed and authenticated
  • IAM permissions: Kubernetes Engine Admin, Compute Admin

1. Set the Default Compute Zone

Configure a default zone so you don’t need to specify --zone every time:
You can override this with --zone or set a default region:

2. Create a Cluster with Autoscaling

Use the following command to create gke-deep-dive-auto with autoscaling enabled (1–2 nodes):
Cluster creation can take several minutes. Monitor progress in the Cloud Console or via:

3. Verify Cluster Autoscaling

Once ready, describe just the autoscaling block:
Expected output:
To view the full node pool details:

4. Compare with a Cluster Without Autoscaling

If you omit --enable-autoscaling when creating a cluster, the autoscaling section is not present:
No autoscaling: block will appear in the output.

5. Add a New Node Pool with Autoscaling

You can attach a new node pool to an existing cluster and enable autoscaling:
Verify both pools:
Look for:

6. Enable Autoscaling on an Existing Node Pool

To update an existing node pool (e.g., default-pool) and enable autoscaling:
Re-run the description to confirm:
Both pools should now include:
Congratulations! You’ve successfully configured cluster-level and node-pool–level autoscaling in GKE.

Watch Video