Skip to main content

Minimum System Requirements

This document details the minimum system requirements for running a self-hosted Kubernetes cluster using either a lightweight Kubernetes distribution like MicroK8s or a managed solution like GKE, EKS, AKS.

Minimum System Requirements for MicroK8s​

MicroK8s is a production-ready lightweight Kubernetes distribution suited for edge computing, IoT, and others.

What you’ll need​

  • An Ubuntu environment (Ubuntu Server 24.04.x with snapd) to run the commands.
  • An internet connection (minimum 40Mbps).

Single-Node Deployment​

ComponentMinimum Requirement
vCPUs12 vCPUs
Memory32GB RAM
Storage100GB SSD
NetworkingIPv4 connectivity with open ports for Kubernetes API (default 16443)
Total Nodes1

Multi-Node Deployment (HA Mode)​

ComponentMinimum Requirement per Node
vCPUs4 vCPUs
Memory16GB RAM
Storage50GB SSD
NetworkingInternal network for cluster communication
Total Nodes3+ (HA mode requires at least 3 nodes)

Note: MicroK8s can run on bare metal, VMs, or cloud instances. HA requires at least three nodes. SSD-backed storage improves performance, especially for databases.

Minimum System Requirements for Managed Kubernetes (GKE, EKS, AKS)​

Managed Kubernetes solutions to handle control plane management, allowing users to focus on their workloads. Worker nodes must meet minimum requirements to ensure performance and stability.

Node Requirements (Worker Nodes)​

ComponentMinimum Requirement
vCPUs4 vCPUs
Memory16GB RAM
Storage50GB SSD
NetworkingCloud VPC with necessary firewall rules
Total Nodes4 (recommended)

Required Applications​

To interact with and manage your Kubernetes cluster, ensure the following applications are installed:

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

Ensure your infrastructure meets these requirements for a stable and efficient Kubernetes deployment.