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
Component | Minimum Requirement |
---|---|
vCPUs | 12 vCPUs |
Memory | 32GB RAM |
Storage | 100GB SSD |
Networking | IPv4 connectivity with open ports for Kubernetes API (default 16443) |
Total Nodes | 1 |
Multi-Node Deployment (HA Mode)
Component | Minimum Requirement per Node |
---|---|
vCPUs | 4 vCPUs |
Memory | 16GB RAM |
Storage | 50GB SSD |
Networking | Internal network for cluster communication |
Total Nodes | 3+ (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)
Component | Minimum Requirement |
---|---|
vCPUs | 4 vCPUs |
Memory | 16GB RAM |
Storage | 50GB SSD |
Networking | Cloud VPC with necessary firewall rules |
Total Nodes | 4 (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.