Deploy a cluster in Google Kubernetes Engine

Before deploying ArcGIS Enterprise on Kubernetes in Google Cloud Platform (GCP), you must prepare a Google Kubernetes Engine (GKE) cluster that meets ArcGIS Enterprise system requirements.

Preparing a GKE cluster includes steps that are common across supported environments, such as setting up the Kubernetes cluster and corresponding nodes, and steps that are environment specific such as creating storage classes.

Review the following steps and browse to GCP documentation for more detailed instructions on how to prepare your environment.

  1. Create a GKE cluster.

    When creating a GKE cluster, you will reference the Cloud KMS key created in the previous step if choosing the Encrypt secrets at the application layer security option.

    ArcGIS Enterprise on Kubernetes is not supported on GKE clusters provisioned using autopilot mode, so clusters should be provisioned using standard mode.

    The cluster Kubernetes version must match what is listed in the system requirements. Windows Server worker nodes are not supported.

  2. Update kubectl configuration.

    After creating the cluster, the Google Cloud Command Line Interface (gcloud CLI) can be used to pull the cluster-admin connection information into your kubeconfig file. Use the following command:

    gcloud container clusters get-credentials <cluster_name> --region=<region>
    
  3. Optionally, create a Cloud Key Management Service (KMS) key and enable secret encryption for the cluster.

    It is recommended that you enable envelope encryption for the secrets stored in etcd for the GKE cluster.

  4. Create storage classes.

    To tailor reclaimPolicy and allowVolumeExpansion properties to the needs of your organization and workloads, it is recommended that you create a storage class referencing the pd-standard or pd-ssd types. The appropriate YAML file should be applied to the cluster using the following command:

    kubectl apply -f <storageClass.yaml>
    
    See a sample default storage class YAML and a sample backup storage class YAML for more information.