Minimum System Requirements
Project Account Or 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)
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
Ensure that you have the recommended node configurations based on your deployment mode.
Recommended Node Configurations
Single-Node Deployment
- K8s Cluster: MicroK8s
- Minimum Node Configuration:
- vCPUs: 12
- Memory: 32 GB
- Storage: 120 GB
- 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
- 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
- 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
Pre-Requisites 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
Set up kubectl Configuration For MicroK8s
microk8s config > ~/.kube/config
Configure MicroK8s kubectl Alias
echo "alias kubectl='microk8s kubectl'" >> ~/.bashrc && source ~/.bashrc
Required Applications
Install kubectl
Refer to the official Kubernetes documentation; Install kubectl for detailed instructions on how to install kubectl
using native package management.
Install helm
Refer to the official Helm documentation; Install Helm for detailed instructions on how to install Helm using the APT package manager.
Install jq
If jq
is not already installed, install it using the following command.
sudo apt install jq
Set openebs-hostpath as the Default Storage Class
kubectl annotate storageclass openebs-hostpath storageclass.kubernetes.io/is-default-class=true
Install metrics server
helm repo add metrics-server https://kubernetes-sigs.github.io/metrics-server/
helm upgrade --install --set args={--kubelet-insecure-tls} metrics-server metrics-server/metrics-server --namespace kube-system
Internet Connectivity Requirements
- Ensure 100 Mbps 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 or Newer