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.