System requirements#
This page describes the system requirements for k0s.
Minimum memory and CPU requirements#
The minimum requirements for k0s detailed below are approximations, and thus your results may vary.
Role | Memory (RAM in GB) | Virtual CPUs (vCPU) |
---|---|---|
Controller node | 1 | 1 |
Worker node | 0.5 | 1 |
Controller + worker | 1 | 1 |
Controller node recommendations#
# of worker nodes | # of pods | Recommended RAM (in GB) | Recommended vCPU |
---|---|---|---|
10 | 1000 | 1-2 | 1-2 |
50 | 5000 | 2-4 | 2-4 |
100 | 10000 | 4-8 | 2-4 |
500 | 50000 | 8-16 | 4-8 |
1000 | 100000 | 16-32 | 8-16 |
5000 | 150000 | 32-64 | 16-32 |
k0s has the standard Kubernetes limits for the maximum number of nodes, pods, etc. For more details, see the Kubernetes considerations for large clusters.
k0s controller node measured memory consumption can be found below on this page.
Storage#
It's recommended to use an SSD for optimal storage performance (cluster latency and throughput are sensitive to storage).
For worker nodes it is required that there is at least 15% relative disk space free.
The specific storage consumption for k0s is as follows:
Role | Usage (k0s part) | Minimum required |
---|---|---|
Controller node | ~0.5 GB | ~0.5 GB |
Worker node | ~1.3 GB | ~1.6 GB |
Controller + worker | ~1.7 GB | ~2.0 GB |
Note: The operating system and application requirements must be considered in addition to the k0s part.
Host operating system#
k0s runs on Linux and Windows operating systems.
The following operating systems are automatically tested as part of our CI:
Operating System | Version/Notes |
---|---|
Amazon Linux | 2023 |
Alpine Linux | 3.19, 3.22 |
CentOS Stream | 9, 10 (Coughlan) |
Debian GNU/Linux | 11 (bullseye) (supported until 2026-08-31), 12 (bookworm) (supported until 2028-06-30) |
Fedora CoreOS | stable stream |
Fedora Linux | 41 (Cloud Edition) |
Flatcar Container Linux | by Kinvolk |
Oracle Linux Server | 8.9, 9.3 |
Red Hat Enterprise Linux | 7.9 (Maipo), 8.10 (Ootpa), 9.5 (Plow) |
Rocky Linux | 8.10 (Green Obsidian), 9.5 (Blue Onyx) |
SUSE Linux Enterprise Server | 15 SP6 |
Ubuntu | 20.04 LTS, 22.04 LTS, 24.04 |
Note: For detailed Linux-specific requirements, please refer to the Linux specific requirements.
Architecture#
x86_64
aarch64
armv7l
Networking#
For information on the required ports and protocols, refer to networking.
External runtime dependencies#
k0s strives to be as independent from the operating system as possible. See the dedicated section on external runtime dependencies for details on current and past requirements.
To run some automated compatiblility checks on your system, use
k0s sysinfo
.
Controller node measured memory consumption#
The following table shows the measured memory consumption in the cluster of one controller node.
# of Worker nodes | # of Pods (besides default) | Memory consumption (in MB) |
---|---|---|
1 | 0 | 510 |
1 | 100 | 600 |
20 | 0 | 660 |
20 | 2000 | 1000 |
50 | 0 | 790 |
50 | 5000 | 1400 |
100 | 0 | 1000 |
100 | 10000 | 2300 |
200 | 0 | 1500 |
200 | 20000 | 3300 |
Measurement details:
- k0s v1.22.4+k0s.2 (default configuration with etcd)
- Ubuntu Server 20.04.3 LTS, OS part of the used memory was around 180 MB
- Hardware: AWS t3.xlarge (4 vCPUs, 16 GB RAM)
- Pod image: nginx:1.21.4