This topic describes minimum cluster configurations for
Apigee hybrid. These minimum configurations apply to all of the supportedKubernetes platforms. The recommendations
in this topic apply for non-production installations, such as trial or testing scenarios. Keep
these recommendations in mind when performing the Apigee hybrid installation steps.
About node pools
A node pool is a group of nodes within a cluster that all have the same configuration. By
default, hybrid assigns all pods to the default node pool; however, you can create dedicated
node pools and assign hybrid components to them as a way of distributing resources.
Typically, you define dedicated node pools when you have pods with differing resource
requirements. For example, theapigee-cassandrapods require persistent storage, while
the other Apigee hybrid pods do not. For this reason, we recommend that you create
a stateful node pool for Cassandra and a stateless node pool for the rest of the hybrid
runtime services. SeeConfigure dedicated node poolsfor
details.
The following section lists configurations for both stateful and stateless node pools.
Minimum configurations
Use these minimum configurations when setting up your cluster:
Configuration
Stateful node pool
Stateless node pool
Purpose
A stateful node pool used for the Cassandra database.
A stateless node pool used by the runtime message processor.
2000 IOPS with SAN or directly attached storage. NFS is not recommended even if it can support the required IOPS.
2000 IOPS with SAN or directly attached storage. NFS is not recommended even if it can support the required IOPS.
Network bandwidth for each machine instance type
1 Gbps
1 Gbps
Cassandra network requirements
This section discusses network requirements and recommendations to follow when setting up
Apigee hybrid.
Network bandwidth
Cassandra uses theGossip protocolto
exchange information with other nodes about network topology. The use of Gossip plus the
distributed nature of Cassandra—which involves talking to multiple
nodes for read and write operations—results in a lot of data transfer through the network.
Cassandra requires a minimum of 1 Gbps of network bandwidth for each machine instance. For example,
on GKE, the minimum recommended machine type,e2-standard-4, has a minimum bandwidth
of 1 Gbps. For production installations, a higher Gbps is recommended.
The maximum or 99th percentile latency for Cassandra should be below 100 milliseconds.
Secure network connectivity between regions
When installing hybrid inmultiple regions, ensure that the connections between
regions is secure:
Use a virtual private network solution, such as GoogleVirtual Private Cloud(VPC),
to secure connectivity between regions.
Open a firewall to ensure that Cassandra nodes can connect between regions in non-overlapping subnets and can resolve
those network IPs.
Always use port 7001 for Cassandra.
All other ports are local to the region.
See alsoSecure ports usage.
Cassandra NTP requirements
Cassandra data synchronizes based on the timestamp of the system. Ensure that the time is
synchronized across all pods and all regions within the Cassandra cluster. Time delays
between the nodes and regions causes data inconsistencies.
Scaling the configuration
If you need to scale your initial configuration based on additional capacity or throughput needs,
see the following topics:
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-04 UTC."],[[["\u003cp\u003eApigee hybrid requires minimum cluster configurations for both stateful (Cassandra) and stateless node pools, with specific recommendations for non-production environments like trials or testing.\u003c/p\u003e\n"],["\u003cp\u003eStateful node pools, dedicated to the Cassandra database, require a minimum of 1 node per zone (3 per region), 4 CPUs, 16 RAM, and dynamic storage with 2000 minimum disk IOPS for non-production, and the storage needs to be either directly attached or with SAN.\u003c/p\u003e\n"],["\u003cp\u003eStateless node pools, used by the runtime message processor, also need a minimum of 1 node per zone (3 per region), 4 CPUs, 16 RAM, and storage managed by ApigeeDeployment CRD, as well as requiring 2000 minimum disk IOPS for non-production and the storage needs to be either directly attached or with SAN.\u003c/p\u003e\n"],["\u003cp\u003eCassandra nodes need a minimum network bandwidth of 1 Gbps per machine instance and low latency (below 100 milliseconds), and when used in multiple regions, connections between regions should be secured via a VPN solution.\u003c/p\u003e\n"],["\u003cp\u003eFor time consistency and data synchronization, it is important that time is synchronized across all pods and regions in a Cassandra cluster, as well as consider using TCP keepalive settings to prevent firewalls from dropping connections.\u003c/p\u003e\n"]]],[],null,["# Minimum cluster configurations\n\n| You are currently viewing version 1.12 of the Apigee hybrid documentation. **This version is end of life.** You should upgrade to a newer version. For more information, see [Supported versions](/apigee/docs/hybrid/supported-platforms#supported-versions).\n\n\nThis topic describes minimum cluster configurations for\nApigee hybrid. These minimum configurations apply to all of the supported\n[Kubernetes platforms](/apigee/docs/hybrid/supported-platforms). The recommendations\nin this topic apply for non-production installations, such as trial or testing scenarios. Keep\nthese recommendations in mind when performing the Apigee hybrid installation steps.\n\nAbout node pools\n----------------\n\n\nA node pool is a group of nodes within a cluster that all have the same configuration. By\ndefault, hybrid assigns all pods to the default node pool; however, you can create dedicated\nnode pools and assign hybrid components to them as a way of distributing resources.\n\n\nTypically, you define dedicated node pools when you have pods with differing resource\nrequirements. For example, the `apigee-cassandra` pods require persistent storage, while\nthe other Apigee hybrid pods do not. For this reason, we recommend that you create\na stateful node pool for Cassandra and a stateless node pool for the rest of the hybrid\nruntime services. See [Configure dedicated node pools](/apigee/docs/hybrid/v1.12/configure-dedicated-nodes) for\ndetails.\n\n\nThe following section lists configurations for both stateful and stateless node pools.\n\nMinimum configurations\n----------------------\n\n\nUse these minimum configurations when setting up your cluster:\n\n| **Note:** For **production** environments, we recommend a minimum of two clusters.\n\nCassandra network requirements\n------------------------------\n\nThis section discusses network requirements and recommendations to follow when setting up\nApigee hybrid.\n\n### Network bandwidth\n\n\nCassandra uses the\n[Gossip protocol](https://en.wikipedia.org/wiki/Gossip_protocol) to\nexchange information with other nodes about network topology. The use of Gossip plus the\ndistributed nature of Cassandra---which involves talking to multiple\nnodes for read and write operations---results in a lot of data transfer through the network.\n\nCassandra requires a minimum of 1 Gbps of network bandwidth for each machine instance. For example,\non GKE, the minimum recommended machine type, `e2-standard-4`, has a minimum bandwidth\nof 1 Gbps. For production installations, a higher Gbps is recommended.\n\nThe maximum or 99th percentile latency for Cassandra should be below 100 milliseconds.\n\n### Secure network connectivity between regions\n\nWhen installing hybrid in [multiple regions](/apigee/docs/hybrid/v1.12/multi-region), ensure that the connections between\nregions is secure:\n\n- Use a virtual private network solution, such as Google [Virtual Private Cloud](/vpc/docs/overview) (VPC), to secure connectivity between regions.\n- Open a firewall to ensure that Cassandra nodes can connect between regions in non-overlapping subnets and can resolve those network IPs.\n- Always use port 7001 for Cassandra. All other ports are local to the region. See also [Secure ports usage](/apigee/docs/hybrid/v1.12/ports).\n\nCassandra NTP requirements\n--------------------------\n\n\nCassandra data synchronizes based on the timestamp of the system. Ensure that the time is\nsynchronized across all pods and all regions within the Cassandra cluster. Time delays\nbetween the nodes and regions causes data inconsistencies.\n| **Tip:** If firewalls is used, try setting up the TCP keepalive settings for the stateful nodes similar to the following: \n|\n| ```\n| net.ipv4.tcp_keepalive_time=60\n| net.ipv4.tcp_keepalive_probes=3\n| net.ipv4.tcp_keepalive_intvl=10\n| \n| ```\n| This could help prevent a firewall from considering the connections idle and dropping them.\n\nScaling the configuration\n-------------------------\n\n\nIf you need to scale your initial configuration based on additional capacity or throughput needs,\nsee the following topics:\n\n- [Configuring Cassandra for production](/apigee/docs/hybrid/v1.12/cassandra-production)\n- [Scaling Cassandra pods](/apigee/docs/hybrid/v1.12/cassandra-scaling)\n- [Configuring dedicated node pools](/apigee/docs/hybrid/v1.12/configure-dedicated-nodes)\n- [Scale and autoscale runtime services](/apigee/docs/hybrid/v1.12/scale-and-autoscale)\n- [Multi-region deployments](/apigee/docs/hybrid/v1.12/multi-region)"]]