GKE production cluster requirements Stay organized with collections Save and categorize content based on your preferences.
This section describes the basic requirements for setting up a Google Kubernetes Engine (GKE) cluster suitable for an Apigee hybrid production installation.A production cluster can consume significant resources because it includes more nodes and larger virtual machine configurations than a non-production setup. Also, a production cluster might be hosted in multiple zones and regions worldwide. For information about creating GKE clusters, see Creating a cluster in the GKE documentation. Follow these requirements when creating your production cluster: Creating the cluster
Production cluster requirements
Software versions
| Requirement | Value |
|---|---|
| Kubernetes version | Version 1.13 or laterYou can find the supported Kubernetes cluster versions by issuing the following command:gcloud container get-server-config validMasterVersions: heading. |
| kubectl version | Version 1.13.x or later. See Install and Set Up kubectl. |
Cluster template configuration
Choose these template configuration options for your production GKE cluster:
| Configuration | Value |
|---|---|
| Cluster template | Standard cluster |
| Location type | Regional (recommended) |
| Availability zones | 3 |
| Autoscaling | Enable autoscaling for your nodes, with the minimum and maximum number of instances set to the same number. GKE will give you a warning about setting the values to the same number. You can ignore this warning. For more information, seeScale and autoscale hybrid services. |
| Storage | Storage is provisioned dynamically using theStatefulSet dynamic provisioner. |
Node requirements
A node pool is a group of nodes within a cluster that all have the same configuration. By default, you must configure two node pools in your cluster -- one for the stateful Cassandra pods and one for the rest of the pods, which are stateless. Configure these two node poolsas described below:
Stateful node pool configuration
Configure a stateful node pool as follows:
| Configuration | Value |
|---|---|
| Name | apigee-dataNOTE: You must use the nameapigee-data. If you want to use another node pool name, seeConfigure dedicated node pools. |
| Minimum number of nodes | 3 |
| Machine type | N1-standard-8 (Standard machine type with 8 vCPUs, 30 GB of memory) |
| Storage | Storage will be provisioned dynamically usingStatefulSet dynamic provisioner |
Stateless node pool configuration
Configure a stateless node pool as follows:
| Configuration | Value |
|---|---|
| Name | apigee-runtimeNOTE: You must use the nameapigee-runtime. If you want to use another node pool name, seeConfigure dedicated node pools. |
| Minimum number of nodes | 3 (1 per zone) |
| Machine type | N1-standard-4 (Standard machine type with 4 vCPUs, 15 GB of memory) |
Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-19 UTC.