Create an Autopilot cluster


This page explains how to create a Google Kubernetes Engine (GKE) cluster in Autopilot mode. Autopilot is a GKE mode of operation that lets you focus on your services and applications, while Google manages your nodes and infrastructure. When you deploy your workloads, GKE provisions, configures, and manages the resources and hardware, including when you scale.

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.

Create an Autopilot cluster

You can create an Autopilot cluster by using the Google Cloud CLI, the Google Cloud console, or by using Terraform:

gcloud

Run the following command:

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID

Replace the following:

  • CLUSTER_NAME: the name of your new Autopilot cluster.
  • LOCATION: the region for your cluster, such as us-central1.
  • PROJECT_ID: your project ID.

You can optionally use the --service-account=SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com flag to specify a different IAM service account that nodes use instead of the Compute Engine default service account. We strongly recommend that you create and use a service account with minimal privileges so that your nodes don't have more privileges than they require.

For a list of other options that you can specify, see the gcloud container clusters create-auto reference documentation.

Console

Perform the following tasks:

  1. Go to the Google Kubernetes Engine page in the Google Cloud console.

    Go to Google Kubernetes Engine

  2. Click Create.

  3. In the Cluster basics section, complete the following:

    1. Enter the Name for your cluster.
    2. Select a region for your cluster.
  4. Optional (available with GKE Enterprise): If you want to register your new cluster to a fleet, go to the Fleet registration section, and follow the Google Cloud console instructions for Create and register a new cluster to complete your cluster registration.

  5. In the Networking section, choose one of the following:

    • To create a cluster with a publicly accessible endpoint, choose Public cluster.
    • If your organization has specific network isolation requirements, choose Private cluster. For configuration instructions, refer to Create a private cluster.
  6. Optionally, configure other settings such as maintenance windows and advanced security features.

  7. Click Create.

Terraform

To create an Autopilot cluster using Terraform, refer to the following example:

resource "google_container_cluster" "default" {
  name     = "gke-autopilot-basic"
  location = "us-central1"

  enable_autopilot = true

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

To learn more about using Terraform, see Terraform support for GKE.

Set the version and release channel of a new Autopilot cluster

By default, GKE enrolls new Autopilot clusters in the Regular release channel, with the default GKE version in the channel. You can change the release channel when you create an Autopilot cluster using the gcloud CLI, the Google Cloud console, or by using Terraform. You can also set a specific GKE version when you create a cluster using the gcloud CLI.

gcloud

To set the release channel and the cluster version when you create an Autopilot cluster, run the following command. Setting the cluster version is only useful if you have a specific version requirement. In most situations, we recommend that you only set the release channel.

gcloud container clusters create-auto CLUSTER_NAME \
    --location=LOCATION \
    --release-channel=RELEASE_CHANNEL \
    --cluster-version=VERSION

Replace the following:

These flags are optional. If you set a specific GKE version, that version applies until a new version becomes the default version in your cluster's release channel. GKE then automatically upgrades your cluster to the new default version.

Console

To set the release channel when you create an Autopilot cluster, do the following:

  1. Go to the Google Kubernetes Engine page in the Google Cloud console.

    Go to Google Kubernetes Engine

  2. Click Create.

  3. For Autopilot, click Configure.

  4. In the Cluster basics section, complete the following:

    1. Specify a Name.
    2. Select a Region.
  5. In the Advanced settings section, choose a release channel.

  6. Click Create.

Terraform

To set the release channel and the cluster version when you create an Autopilot cluster using Terraform, refer to the following example:

resource "google_container_cluster" "default" {
  name     = "gke-autopilot-release-channel"
  location = "us-central1"

  enable_autopilot = true

  release_channel {
    channel = "REGULAR"
  }

  # Set `deletion_protection` to `true` will ensure that one cannot
  # accidentally delete this instance by use of Terraform.
  deletion_protection = false
}

To learn more about using Terraform, see Terraform support for GKE.

You can also change the release channel and GKE version for existing clusters. For instructions, refer to Manually upgrading a control plane and to Selecting a new release channel.

Connect to the cluster

gcloud

gcloud container clusters get-credentials CLUSTER_NAME \
    --location=LOCATION \
    --project=PROJECT_ID

This command configures kubectl to use the cluster you created.

Console

  1. In the cluster list, beside the cluster that you want to connect to, click Actions, and then click Connect.

  2. Click Run in Cloud Shell when prompted. The generated command is copied into your Cloud Shell, for example:

    gcloud container clusters get-credentials autopilot-cluster --location=us-central1 --project=autopilot-test
    
  3. Press Enter to run the command.

Verify the cluster mode

You can verify that your cluster is an Autopilot cluster by using the gcloud CLI or the Google Cloud console.

gcloud

To verify that your cluster is created in Autopilot mode, run the following command:

gcloud container clusters describe CLUSTER_NAME \
    --location=LOCATION

The output contains the following:

autopilot:
  enabled: true

Console

To verify that your cluster is created in Autopilot mode, do the following:

  1. In the cluster list, click the name of the cluster.
  2. In the Automation section, check whether the Node auto-provisioning (Autopilot mode) field is set to Enabled.

What's next