Kubernetes Cluster: System Requirements

Kubernetes Cluster package may not be available in some regions due to the hardware specifics of the particular platform. In such a case, please contact your hosting provider support.

The minimum and optimal consumption of RAM, CPU, and storage depends on the cluster size, installed components, active workload, etc.

Resources[1]Development Cluster[2]Production Cluster[3]
Cloudlets1433
RAM & CPU1.4 GiB RAM, 419 MHz CPU3.6 GiB RAM, 947 MHz CPU
Storage[4]5.65 GB15.01 GB

Note:

  • [1] Measurements were performed on the bare development and production clusters without any additional load. Thus, the specified values are minimum system requirements, which can be much higher for the loaded clusters (especially production one).
  • [2] Development cluster topology - one master, one worker, one storage node, no monitoring tools, sample Hello World deployment.
  • [3] Production cluster topology - API balancer, three masters, two workers, one storage node, monitoring tools, sample Hello World deployment
  • [4] Fast disks are critical for etcd (key-value storage used by K8s) performance, while slow etcd may lead to cluster instability due to failed workloads. Useful links: Disk Requirements, Benchmark Information, How to Run Benchmark, and Download Benchmark.

Herewith, the development cluster is recommended only as a sandbox environment. For production purposes, a highly available topology with multi-masters is the preferred option. Next, based on the expected load, the required number of workers can be added manually, or the appropriate automatic horizontal scaling can be configured. Adding more master nodes makes sense only if there is a significant number of requests coming from clients (kubectl, dashboard, continuous integration job, K8s-native applications, etc.).

What’s next?