Non-GKE cluster requirements

This section describes the basic requirements for setting up a cluster on any Cloud Native Computing Foundation (CNCF) conformant Kubernetes distribution or hosted platform suitable for an Apigee hybrid installation. If you're using Google Kubernetes Engine (GKE), see the GKE cluster requirements instead.

Requirements for these use cases are described:

Production environment requirements

This section describes the requirements for a non-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.

Node requirements

Apigee's 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 pools configuration

Requirement Value
Minimum number of nodes 6
Node specifications
  • 8 CPU (Minimum)
  • 16GB Ram (Minimum)
  • Local SSD: 500 GB
Persistent volumes

Local SSD: 500 GB

Note: To provide persistent storage for worker nodes in the stateful node pool, an administrator must format and mount a local persistent volume on the worker nodes. The local volume must be mounted on the path /apigee/data. For details, see Creating a persistent volume.

Persistent volume mount path /apigee/data
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
Minimum number of nodes 3
Node specification
  • 8 CPU (Minimum)
  • 16 GB Ram (Minimum)
  • Local SSD: 500 GB
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.

Non-production environment requirements

This section describes the requirements for a non-GKE cluster suitable for development or demonstration. This setup consumes fewer resources than a full production setup.

Software requirements

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

Node requirements

Apigee's 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
Minimum number of nodes 3
Node specifications
  • 8 CPU (Minimum)
  • 16 GB Ram (Minimum)
  • Local SSD: 500 GB
Persistent volumes

Local SSD: 500 GB

Note: To provide persistent storage for worker nodes in the stateful node pool, an administrator must format and mount a local persistent volume on the worker nodes. The local volume must be mounted on the path /apigee/data. For details, see Creating a persistent volume.

Persistent volume mount path /apigee/data
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
Node specification
  • 8 CPU (Minimum)
  • 16 GB Ram (Minimum)
  • Local SSD: 500 GB
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.

Creating a persistent volume

Dynamically provisioned storage for the stateful node pool is only supported for Apigee Hybrid installations on Google Kubernetes Engine (GKE). Therefore, in a non-GKE environment you must create and mount a local volume to provide storage for worker nodes in the stateful node pool. Each Kubernetes worker node in your stateful node pool must have a local mount.

An administrator must format and mount the local persistent volume on the worker nodes. Here is an example.

  1. Create and format a local filesystem. By default, Hybrid expects the ext4 format. For example:
    mkfs.ext4 /dev/nvme1n1
  2. Create a local directory called /apigee/data. By default, Hybrid expects this directory name. For example:
    mkdir -p /apigee/data
  3. Mount the directory on the new filesystem:
    mount /dev/nvme1n1 /apigee/data
  4. Update the /etc/fstab file to persist the mount point across reboots. For example:
    /dev/nvme1n1    /apigee/data    ext4    defaults,nofail    0  2