Home > Communication Service Provider Solutions > Telecom Technical White Papers > Sizing a Bare Metal Kubernetes Telco Cloud > Best practice
The resource requirements of the control plane nodes vary depending on the cluster’s number of nodes and objects. Recommendations for control plane node size are based on control plane density-focused testing. You should ensure that the overall CPU and memory resource usage on the control plane nodes is at most 60% of the total available capacity. This ratio enables handling resource usage spikes and ensures sufficient resources are available for smooth operation and scalability of the control plane components. Maintaining a buffer in resource usage helps the control plane nodes to more efficiently handle fluctuations in resource demands and maintain optimal performance.
Figure 3. Worker nodes’ impact on controller node sizing
The number of namespaces and user-installed operators that must be managed on the cluster determine the Operator Lifecycle Manager's (OLM) memory footprint. OLM runs on the control plane nodes, and its memory usage scales with the number of namespaces and operators in the cluster. As more namespaces and operators are added, the memory requirements of OLM will increase accordingly. It is essential to consider the memory capacity of the control plane nodes and allocate sufficient resources to ensure smooth OLM operation and efficient management of operators within the cluster.
Figure 4. OLM impact on master node sizing
Infrastructure nodes in the OpenShift Container Platform are designated to run specific components of the environment. The resource requirements of infrastructure nodes vary based on factors such as the cluster’s age, the number of nodes, and the number of objects within the cluster. These factors can impact the number of metrics or time series stored in Prometheus. Recommendations for infrastructure node size are derived from cluster-density testing, which helps identify optimal resource allocation. By considering these recommendations, administrators can ensure that infrastructure nodes have sufficient resources to handle the workload and efficiently manage metrics and time series data in Prometheus.
Figure 5. Nodes and namespaces impact on infrastructure node requirements (masters)
Enabling a real-time (RT) kernel on a server with Kubernetes can have a significant impact CPU usage. A real-time kernel is designed to provide deterministic and low-latency responses to time-critical tasks. When enabled, the RT kernel prioritizes time-sensitive operations, such as handling interrupts and scheduling tasks, over non-real-time processes. This prioritization can increase CPU utilization as the RT kernel allocates more resources to ensure the timely execution of real-time tasks.
As a result, CPU usage may appear higher compared to a standard kernel, as more CPU cycles are dedicated to real-time operations. It is essential to consider this impact when deploying applications and workloads in a Kubernetes environment with an RT kernel. CPU resources must be appropriately allocated to ensure the smooth execution of both real-time and non-real-time tasks.
Figure 6. Worker node tuning impact upon real-time operation