Skip to main content

Minimum System Requirements

Project Account/Subscription

IDHub can be installed and run on any Cloud or local Cluster.

Supported Deployment Modes

  • Cloud Deployments (Recommended):
    • Google Kubernetes Engine (GKE)
    • Amazon Elastic Kubernetes Service (EKS)
    • Azure Kubernetes Service (AKS)
  • Local Deployments:
    • MicroK8s
    • KIND (for testing)
Actionable Item

You need a project account or subscription for your chosen provider.

  • For GCP: You need a Google Cloud Platform (GCP) account and a project within GCP to create a GKE cluster. Ensure that you enable Kubernetes Engine API.
  • For Amazon EKS: You need an AWS account to create and manage resources, including EC2 instances for your cluster.
  • For Azure Kubernetes Service (AKS): You need an Entra ID subscription to create and manage cluster resources.

Number of Nodes

Actionable Item

Ensure that you have the recommended node configurations based on your deployment mode.

Single-Node Deployment

  • K8s Cluster: MicroK8s
  • Minimum Node Configuration:
    • vCPUs: 12
    • Memory: 32 GB
    • Storage: 100 GB SSD
  • Total Nodes: 1
  • OS: Ubuntu Server 24.04.1 LTS

Multi-Node Deployment

  • K8s Cluster: MicroK8s
  • Minimum Node Configuration:
    • vCPUs: 4
    • Memory: 16 GB
    • Storage: 50-64 GB SSD
  • Total Nodes: 4
  • OS: Ubuntu Server 24.04.1 LTS

Managed Cloud Deployment

  • K8s Cluster: GKE / EKS / AKS
  • Minimum Node Configuration:
    • vCPUs: 4
    • Memory: 16 GB
    • Storage: 50-64 GB SSD
  • Total Nodes: 4
  • OS: Container-Optimized OS / Ubuntu Server 24.04.1 LTS

Install MicroK8s

Installation

sudo snap install microk8s --classic --channel=1.32
sudo usermod -a -G microk8s $USER
mkdir -p ~/.kube
chmod 0700 ~/.kube
# Close & reopen session

Prerequisites for OpenEBS CAS

Ensure that iSCSI is installed and enabled on all nodes:

systemctl status iscsid
sudo systemctl enable --now iscsid

Required Add-ons

Enable necessary add-ons:

microk8s enable ingress
microk8s enable community
microk8s enable openebs

Required Applications

Install kubectl

Refer to the official Kubernetes documentation for installing kubectl using native package management: Install kubectl

Install helm

Follow the Helm documentation to install Helm using the APT package manager: Install Helm

Install jq

If jq is not already installed, install it using:

sudo apt install jq

Set up kubectl configuration for MicroK8s:

microk8s config > ~/.kube/config

Configure MicroK8s Kubectl Alias

echo "alias kubectl='microk8s kubectl'" >> ~/.bashrc && source ~/.bashrc

Final Configuration After Installation

Edit the /etc/hosts file to map 127.0.0.1 with <IDHUB_FQDN> (the URL through which the IDHub application is accessed). e.g.:

127.0.0.1 localhost idhub.companyName.com

Configure External DNS for Public Access

To access the application externally, map the external IP address of the VM to a domain using a DNS provider like Cloudflare.

Internet Connectivity Requirements

Actionable Item
  • Ensure 1Gbps bandwidth for optimal performance.

Browser Requirements

  • Supported Browsers: Chrome, Firefox, Edge (latest versions).

Operating System

The operating system for your cluster can be any container-optimized OS or major Linux distribution.

OS Recommendations

  • For GCP: Container-Optimized OS or Ubuntu
  • For Amazon EKS: Amazon Linux, Ubuntu
  • For Azure Kubernetes Service (AKS): Ubuntu
  • For MicroK8s: Ubuntu Server 24.04.1 LTS