mirror of
https://github.com/openshift/openshift-docs.git
synced 2026-02-05 21:46:22 +01:00
121 lines
3.8 KiB
Plaintext
121 lines
3.8 KiB
Plaintext
// Module included in the following assemblies:
|
|
//
|
|
// * scalability_and_performance/recommended-host-practices.adoc
|
|
// * post_installation_configuration/node-tasks.adoc
|
|
|
|
[id="master-node-sizing_{context}"]
|
|
= Control plane node sizing
|
|
|
|
The control plane node resource requirements depend on the number of nodes in the cluster. The following control plane node size recommendations are based on the results of control plane density focused testing. The control plane tests create the following objects across the cluster in each of the namespaces depending on the node counts:
|
|
|
|
- 12 image streams
|
|
- 3 build configurations
|
|
- 6 builds
|
|
- 1 deployment with 2 pod replicas mounting two secrets each
|
|
- 2 deployments with 1 pod replica mounting two secrets
|
|
- 3 services pointing to the previous deployments
|
|
- 3 routes pointing to the previous deployments
|
|
- 10 secrets, 2 of which are mounted by the previous deployments
|
|
- 10 config maps, 2 of which are mounted by the previous deployments
|
|
|
|
|
|
[options="header",cols="4*"]
|
|
|===
|
|
| Number of worker nodes |Cluster load (namespaces) | CPU cores |Memory (GB)
|
|
|
|
| 25
|
|
| 500
|
|
| 4
|
|
| 16
|
|
|
|
| 100
|
|
| 1000
|
|
| 8
|
|
| 32
|
|
|
|
| 250
|
|
| 4000
|
|
| 16
|
|
| 96
|
|
|
|
|===
|
|
|
|
On a large and dense cluster with three masters or control plane nodes, the CPU and memory usage will spike up when one of the nodes is stopped, rebooted or fails. The failures can be due to unexpected issues with power, network or underlying infrastructure in addition to intentional cases where the cluster is restarted after shutting it down to save costs. The remaining two control plane nodes must handle the load in order to be highly available which leads to increase in the resource usage. This is also expected during upgrades because the masters are cordoned, drained, and rebooted serially to apply the operating system updates, as well as the control plane Operators update. To avoid cascading failures, keep the overall CPU and memory resource usage on the control plane nodes to at most half of all available capacity to handle the resource usage spikes. Increase the CPU and memory on the control plane nodes accordingly to avoid potential downtime due to lack of resources.
|
|
|
|
[IMPORTANT]
|
|
====
|
|
The node sizing varies depending on the number of nodes and object counts in the cluster. It also depends on whether the objects are actively being created on the cluster. During object creation, the control plane is more active in terms of resource usage compared to when the objects are in the `running` phase.
|
|
====
|
|
|
|
Operator Lifecycle Manager (OLM ) runs on the control plane nodes and it's memory footprint depends on the number of namespaces and user installed operators that OLM needs to manage on the cluster. Control plane nodes need to be sized accordingly to avoid OOM kills. Following data points are based on the results from cluster maximums testing.
|
|
|
|
[options="header",cols="3*"]
|
|
|===
|
|
| Number of namespaces |OLM memory at idle state (GB) |OLM memory with 5 user operators installed (GB)
|
|
|
|
| 500
|
|
| 0.823
|
|
| 1.7
|
|
|
|
| 1000
|
|
| 1.2
|
|
| 2.5
|
|
|
|
| 1500
|
|
| 1.7
|
|
| 3.2
|
|
|
|
| 2000
|
|
| 2
|
|
| 4.4
|
|
|
|
| 3000
|
|
| 2.7
|
|
| 5.6
|
|
|
|
| 4000
|
|
| 3.8
|
|
| 7.6
|
|
|
|
| 5000
|
|
| 4.2
|
|
| 9.02
|
|
|
|
| 6000
|
|
| 5.8
|
|
| 11.3
|
|
|
|
| 7000
|
|
| 6.6
|
|
| 12.9
|
|
|
|
| 8000
|
|
| 6.9
|
|
| 14.8
|
|
|
|
| 9000
|
|
| 8
|
|
| 17.7
|
|
|
|
| 10,000
|
|
| 9.9
|
|
| 21.6
|
|
|
|
|===
|
|
|
|
|
|
[IMPORTANT]
|
|
====
|
|
If you used an installer-provisioned infrastructure installation method, you cannot modify the control plane node size in a running {product-title} {product-version} cluster. Instead, you must estimate your total node count and use the suggested control plane node size during installation.
|
|
====
|
|
|
|
[IMPORTANT]
|
|
====
|
|
The recommendations are based on the data points captured on {product-title} clusters with OpenShift SDN as the network plug-in.
|
|
====
|
|
|
|
[NOTE]
|
|
====
|
|
In {product-title} {product-version}, half of a CPU core (500 millicore) is now reserved by the system by default compared to {product-title} 3.11 and previous versions. The sizes are determined taking that into consideration.
|
|
====
|