Skip to content

Kubernetes cluster compute requirements

A minimal cluster, with no redundancy requires the following:

  • Any flavour of Kubernetes pre-installed (Vanilla Kubernetes, RedHat OpenShift, Rancher etc) installed on Ubuntu or Redhat on Physical hardware or a VM
  • 48 Cores
  • 64GB RAM
  • 200GB disk space
  • Either 1TB local storage or 1TB NFS storage via a CSI (or if pre-configured PV’s, see below).

A production cluster should have 3 master nodes and 2-3 worker nodes.

Any flavour of Kubernetes is supported (Vanilla Kubernetes, RedHat OpenShift, Rancher etc) installed on Ubuntu or Redhat on Physical hardware or a VM.

You can use a pre-existing cluster, MetalSoft doesn’t need a dedicated cluster as long as the requirements are met.

  • Master nodes
  • 4 Cores
  • 8GB RAM
  • 200GB disk space
  • Worker nodes
  • 16 Cores
  • 32GB RAM
  • 200GB disk space
  • 1TB NFS storage via a CSI (or if pre-configured PV’s, see below)

Storage is the most important bottleneck for scaling MetalSoft. Both disk space and sufficient performance is required for a successful deployment.

Support for persistent volumes with a minimum of 1TB of disk space is required either via a CSI or with the following pre-configured PVs:

  • image builder ISO storage 800GB RWM (read-write-many) both image builder and ms-tunnel server use this volume
  • controller-pvc 5Gb RWX
  • mysql-pvc 100Gb RWX
  • redis-pvc 10Gb RWX
  • repo-pvc 10Gb RWX
  • other microservices 10Gb RWX

The storage must also allow for ReadWriteMany access mode and have CSI driver/provisioner available for it (ex. NFS with NFS Subdir External Provisioner). This will allow the image builder volume to be mounted by multiple image-builder pods.

Reference performance numbers:

  • 4k Random Read : 1000 IOPs, 4MB/s
  • 4k Random Write: 500 IOPs, 2MB/s