Kubernetes cluster compute requirements¶
Minimum Requirements¶
No redundancy (1 node)
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 500GB local storage or 500GB NFS storage via a CSI (or if pre-configured PV’s, see below)
Recommended Requirements¶
Redundancy on physical or virtual environment(5-6 nodes)
A cluster with optimal redundancy should have 3 master nodes and 2-3 worker nodes. Requirements per node:
Any flavour of Kubernetes pre-installed (Vanilla Kubernetes, RedHat OpenShift, Rancher etc) installed on Ubuntu or Redhat on Physical hardware or a VM
Master nodes¶
4 Cores
8GB RAM
200GB disk space
Worker nodes¶
16 Cores
32GB RAM
200GB disk space
500GB NFS storage via a CSI (or if pre-configured PV’s, see below)
Storage Best Practice¶
Support for persistent volumes with a minimum of 500GB of disk space is required either via a CSI or with the following pre-configured PVs:
controller-pvc 5Gb RWX
mysql-pvc 100Gb RWX
redis-pvc 10Gb RWX
repo-pvc 10Gb RWX
image builder ISO storage 150GB RWM (read-write-many) both image builder and ms-tunnel server use this volume
other microservices 10Gb RWX
Important
For best performance we recommend that the storage system used by the Kubernetes cluster to be either external to the cluster (another cluster, appliance, single server, etc.) or inside the cluster but isolated on nodes specifically dedicated to storage. This will prevent from high I/O on the workload nodes affecting other MetalSoft components or Kubernetes system workloads.
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.
You can also use a pre-existing cluster with the desired redundancy as long as there are sufficient resources available on it as per the requirements listed in the respective sections above.