// Module included in the following assemblies:
//
// * scalability_and_performance/planning-your-environment-according-to-object-maximums.adoc

:_mod-docs-content-type: CONCEPT
[id="how-to-plan-according-to-cluster-maximums_{context}"]
= How to plan your environment according to tested cluster maximums

[role="_abstract"]
To ensure your infrastructure meets operational requirements, plan your {product-title} environment according to tested cluster maximums. Designing your cluster within these validated limits ensures that you can maintain stability and ensures your deployment remains supported

[IMPORTANT]
====
Oversubscribing the physical resources on a node affects resource guarantees the Kubernetes scheduler makes during pod placement. Learn what measures you can take to avoid memory swapping.

Some of the tested maximums are stretched only in a single dimension. They will vary when many objects are running on the cluster.

The numbers noted in this documentation are based on Red Hat's test methodology, setup, configuration, and tunings. These numbers can vary based on your own individual setup and environments.
====

While planning your environment, determine how many pods are expected to fit per node by using the following formula:

[source,text]
----
required pods per cluster / pods per node = total number of nodes needed
----

The default maximum number of pods per node is 250. However, the number of pods that fit on a node is dependent on the application itself. Consider the application's memory, CPU, and storage requirements, as described in "How to plan your environment according to application requirements".

Example scenario::

If you want to scope your cluster for 2200 pods per cluster, you would need at least five nodes, assuming that there are 500 maximum pods per node. The following formula shows the calculation:
+
[source,text]
----
2200 / 500 = 4.4
----
+
If you increase the number of nodes to 20, then the pod distribution changes to 110 pods per node. The following formula shows the calculation:
+
[source,text]
----
2200 / 20 = 110
----
+
Where:
+
[source,text]
----
required pods per cluster / total number of nodes = expected pods per node
----
+
{product-title} includes several system pods, such as OVN-Kubernetes, DNS, Operators, and others, which run across every compute node by default. Therefore, the result of the above formula can vary.
