GKE cluster requirements

This section describes the basic requirements for setting up a cluster in Google Kubernetes Engine (GKE) suitable for an Apigee Hybrid installation. Requirements for these use cases are described:

For information about creating GKE clusters, see Creating a cluster in the GKE documentation.

Production environment requirements

This section describes the requirements for a GKE cluster that is suitable for a production environment. It describes basic requirements for software versions, template settings, and node pool creation.

Software versions

Requirement Value
Kubernetes version Version 1.10 or later
kubectl version Version 1.11.x or later. See Install and Set Up kubectl.

Cluster template configuration

Choose these template configuration options for your production GKE cluster:

Requirement Value
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, see Scale and autoscale Hybrid services.

Storage Storage is provisioned dynamically using the StatefulSet dynamic provisioner.

Node requirements

The Hybrid architecture requires multiple services to be deployed within the Kubernetes cluster. These services include a mix of stateful and stateless services.

Apigee recommends that you create two node pools in your cluster: one for the stateful Cassandra database and one for all the other services, which are stateless. This section describes the requirements for these node pools.

Stateful node pool configuration

Requirement Value
Name You can use any name you wish. You need to provide this name when you install Hybrid. Suggestion: apigee-data
Minimum number of nodes 6
Machine type N1-standard-8 (Standard machine type with 8 vCPUs, 30 GB of memory)
Storage Storage will be provisioned dynamically using StatefulSet dynamic provisioner
Kubernetes label apigee.com/apigee-logger-enabled=true

Note: You must add this label to enable logging for Apigee components running on this node. If you don't add it when you create your cluster, you can add it later. For more information, see Enable logging.

Stateless node pool configuration

Requirement Value
Name You can use any name you wish. You need to provide this name when you install Hybrid. Suggestion: apigee-runtime
Minimum number of nodes 3 (1 per zone)
Machine type N1-standard-4 (Standard machine type with 4 vCPUs, 15 GB of memory)
Kubernetes label apigee.com/apigee-logger-enabled=true

Note: You must add this label to enable logging for Apigee components running on this node. If you don't add it when you create the clustesr, you can add it later. For more information, see Enable logging.

Non-production environment requirements

If you would like to try out Hybrid with a GKE cluster setup that's suitable for development or demonstration purposes, you can use a configuration that consumes fewer resources than a full production setup.

This section describes the requirements for a GKE cluster that is suitable for development or demonstration. It describes basic requirements for software versions, template settings, and node pool creation.

Software versions

Requirement Value
Kubernetes version Version 1.10 or later
kubectl version Version 1.11.x or later. See Install and Set Up kubectl.

Cluster template configuration

Choose these template configuration options for your non-production GKE cluster:

Requirement Value
Location type Zonal
Availability zones 3
Storage Storage is provisioned dynamically using the StatefulSet dynamic provisioner.

Node requirements

The Hybrid architecture requires multiple services to be deployed within the Kubernetes cluster. These services include a mix of stateful and stateless services.

Apigee recommends that you create two node pools in your cluster: one for the stateful Cassandra database and one for all the other services, which are stateless. This section describes the requirements for these node pools.

Stateful node pool configuration

Requirement Value
Name You can use any name you wish. You need to provide this name when you install Hybrid. Suggestion: apigee-data
Minimum number of nodes 3
Machine type N1-standard-2 (Standard machine type with 2 vCPUs, 7.5 GB of memory)
Storage Storage will be provisioned dynamically using StatefulSet dynamic provisioner
Kubernetes label apigee.com/apigee-logger-enabled=true

Note: You must add this label to enable logging for Apigee components running on this node. For more information, see Enable logging.

Stateless node pool configuration

Requirement Value
Name You can use any name you wish. You need to provide this name when you install Hybrid. Suggestion: apigee-runtime
Minimum number of nodes 3 (If you run into resource constraints, choose 2)
Machine type N1-standard-2 (Standard machine type with 2 vCPUs, 7.5 GB of memory)
Kubernetes label apigee.com/apigee-logger-enabled=true

Note: You must add this label to enable logging for Apigee components running on this node. For more information, see Enable logging.