What are the recommended Server Requirements for GMetri deployment in a private cloud (firewalled zone)?

Architecture

The GMETRI platform deploys as helm charts on Kubernetes clusters. A working Kubernetes cluster is needed (either On-Cloud like AWS/Others or in your private cloud) before a helm chart can be deployed. On a Kubernetes cluster, by using a single helm command you can deploy GMetri services on your private cloud and also keep it updated.

Below are the hardware and network requirements to set up a Kubernetes cluster in a private cloud that supports the GMetri platform.

The steps to install helm charts are deployment specific and detailed in a separate guide.

Hardware Requirements

The following table lists the minimum requirements setting up a High Availability (HA) cluster:

On Cloud (AWS/Others)

Spec Production Values Development Values
Recommended Node Type AWS: m4.large/m5.large
GC: n1-standard-2
Azure: D2s v3
AWS: m4.large/m5.large
GC: n1-standard-2
Azure: D2s v3
Nodes (Virtual Machines) with vCPUs >2Ghz 3 (etcd + control plane) + 3 worker nodes
Minimum 6 nodes (Virtual Machines, across availability zones)
Min requirement for each node:
2 core vCPU + 8 GB RAM
3 (etcd + controlplane + worker) nodes
Minimum 3 nodes (Virtual Machines, across availability zones)
Min requirement for each node:
2 core vCPU + 8 GB RAM
RAM 8 GB × number of nodes 8 GB × number of nodes
Storage (SSD Based or better) Min 256 GB per node supporting >500 sequential IOPS Min 128 GB per node

Bare Metal (HA Setup)

Spec Production Values Development Values
Servers with every core >2Ghz 3 (etcd + control plane) + 3 worker nodes
Minimum 6 servers on at-least 3 different physical machines (in case the servers are VMs)
Min requirement for each node:
2 core vCPU + 8 GB RAM
3 (etcd + controlplane + worker) nodes
Minimum 3 servers
Min requirement for each server:
2 core vCPU + 8 GB RAM
RAM 8 GB × number of nodes 8 GB × number of nodes
Storage (SSD Based or better) Min 256 GB per node supporting >500 sequential IOPS Min 128 GB per node
  • Full network connectivity between all systems in the cluster
  • Ability to configure open ports on these systems
  • Failure resilience for production servers: 1 for master nodes and 1 for worker nodes separately. The resilience is of (n-1)/2 nodes per node-type where n is the number of nodes.

Operating System Requirements

The Operating System used will depend completely on the flavour of Kubernetes deployed. Examples are RancherOS, Ubuntu, CoreOS etc.

Preferred OS

For Cloud deployment: Ubuntu 18+

For Bare Metal deployment: CentOS 7.4+ or Ubuntu 16.04+

Partitioning

Ensure that there is no swap partition.

Partition Space Allocation Partition Type
NO swap none
/ (root) 20 GB ext4
/home 10 GB ext4
/var Remaining space ext4

Network Requirements

Network Response Time

Spec Web-browser to Datacenter Within Datacenter
Bandwidth 10 Mbps minimum 100 Mbps minimum
Latency 250-300 milliseconds 1 millisecond on LAN

Within the cluster, ideally communication needs to be open - i.e. all cluster nodes should be able to contact all ports of all other cluster nodes.

In case a list of specific ports is needed, please refer to this guide.

Internet Connectivity Requirement During updates and initial installation, internet connectivity is needed. For usual operations, internet connectivity isn’t required.

Example Rack Server/Desktop Tower configuration

An example of a single rack server or a desktop tower to support the above deployment would be the following:

Hardware Recommended Spec Example
CPU A CPU with 4 threads Intel i5-7400 or better
RAM 16GB DDR4 or better Corsair LPX 16GB 3200MHz
HDD 256 GB SSD or SAS storage Samsung 860 EVO 250GB SSD

4 or 6 such servers/desktop towers are required to form a cluster as mentioned above.

For any other queries, please write to support@gmetri.com


Last update: