Creating a regional cluster

This topic shows how to create a regional cluster to increase availability of the cluster's control plane and workloads during cluster upgrades, automated maintenance, or a zonal disruption. When you create a regional cluster instead of a single-zone or multi-zonal cluster, replicas of the control plane and nodes run in multiple zones of a given region. By default, a regional cluster's nodes are also replicated across the same zones as the control plane.

You can read more about the types of clusters you can create.

Once you create a regional cluster, you cannot convert it to a single-zone or multi-zonal cluster.

Regional clusters replicate resources across multiple zones and consume additional quotas.

Before you begin

Before you start, make sure you have performed the following tasks:

Set up default gcloud settings using one of the following methods:

  • Using gcloud init, if you want to be walked through setting defaults.
  • Using gcloud config, to individually set your project ID, zone, and region.

Using gcloud init

  1. Run gcloud init and follow the directions:

    gcloud init

    If you are using SSH on a remote server, use the --console-only flag to prevent the command from launching a browser:

    gcloud init --console-only
  2. Follow the instructions to authorize gcloud to use your Google Cloud account.
  3. Create a new configuration or select an existing one.
  4. Choose a Google Cloud project.
  5. Choose a default Compute Engine zone.

Using gcloud config

  • Set your default project ID:
    gcloud config set project [PROJECT_ID]
  • If you are working with zonal clusters, set your default compute zone:
    gcloud config set compute/zone [COMPUTE_ZONE]
  • If you are working with regional clusters, set your default compute region:
    gcloud config set compute/region [COMPUTE_REGION]
  • Update gcloud to the latest version:
    gcloud components update

Creating a regional cluster

You can create a regional cluster using gcloud or the Google Cloud Console.

gcloud

To create a regional cluster, run the following command:

gcloud container clusters create [CLUSTER_NAME] \
    --region [REGION] \
    [--node-locations [COMPUTE_ZONE],[COMPUTE_ZONE]...]]

where [CLUSTER_NAME] is the name you choose for the regional cluster, and [REGION] is the desired [region][rz], such as us-central1. For regions with more than three zones or in cases where fewer zones is preferred, the optional --node-locations flag overrides the default zones in which the nodes are replicated.

For example, to create a regional cluster with nine nodes in us-west1 (three zones with three nodes each, which is default):

gcloud container clusters create my-regional-cluster --region us-west1

To create a regional cluster with six nodes (three zones with two nodes each, specified by --num-nodes):

gcloud container clusters create my-regional-cluster \
    --num-nodes 2 \
    --region us-west1

To create a regional cluster with six nodes in two zones (two zones, specified by --node-locations, with three nodes each):

gcloud container clusters create my-regional-cluster \
    --region us-central1 \
    --node-locations us-central1-b,us-central1-c

You can specify a release channel using gcloud beta with the --release-channel flag.

gcloud beta container clusters create [CLUSTER_NAME] \
    --release-channel [RELEASE_CHANNEL] \
    --region [REGION] \
    [--node-locations [COMPUTE_ZONE],[COMPUTE_ZONE]...]]

You can also specify an exact cluster version using the --cluster-version flag. If you don't specify a release channel or a cluster version, your cluster uses the current default version.

Console

To create a regional cluster, perform the following steps.

  1. Visit the Google Kubernetes Engine menu in the Cloud Console.

    Visit the Google Kubernetes Engine menu

  2. Click Create cluster.

  3. Choose the Highly Available cluster template.

  4. Choose the version of the cluster by selecting one of the following:

    • Choose the release channel the cluster is enrolled in. Your cluster and node pools will be auto-upgraded within that channel.
    • Choose a specific GKE version. Auto-upgrade is enabled by default, and your cluster and its node pools will be auto-upgraded when its current version is selected for auto-upgrade.
    • Choose the default version. Auto-upgrade is enabled by default, and your cluster and its node pools will be auto-upgraded when its current version is selected for auto-upgrade.

    Using release channels is recommended. If you must specify a version, leaving auto-upgrade enabled is recommended.

  5. Verify that under Location type, Regional is selected.

  6. From the Region drop-down menu, select the desired region, such as us-central1.

  7. Configure your cluster as desired, then click Create.

After you create a cluster, you need to configure kubectl before you can interact with the cluster from the command line.

What's next?