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.

RoleMemory (RAM)Virtual CPU (vCPU)
Controller node1 GB1 vCPU
Worker node0.5 GB1 vCPU
Controller + worker1 GB1 vCPU

Controller node recommendations

# of Worker nodes# of PodsRecommended RAMRecommended vCPU
up to 10up to 10001-2 GB1-2 vCPU
up to 50up to 50002-4 GB2-4 vCPU
up to 100up to 100004-8 GB2-4 vCPU
up to 500up to 500008-16 GB4-8 vCPU
up to 1000up to 10000016-32 GB8-16 vCPU
up to 5000up to 15000032-64 GB16-32 vCPU

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).

The specific storage consumption for k0s is as follows:

RoleStorage (k0s part)
Controller node~0.5 GB
Worker node~1.3 GB
Controller + worker~1.7 GB

Note: The operating system and application requirements must be considered in addition to the k0s part.

Host operating system

Architecture

  • x86-64
  • ARM64
  • ARMv7

Networking

For information on the required ports and protocols, refer to networking.

External runtime dependencies

k0s strives to be as independent from the OS as possible. The current and past external runtime dependencies are documented here.

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
10510 MB
1100600 MB
200660 MB
2020001000 MB
500790 MB
5050001400 MB
10001000 MB
100100002300 MB
20001500 MB
200200003300 MB

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