System Requirements

k3s runs on modest hardware and supports both x86_64 and ARM processors.

k3s is deliberately light. Even so, it helps to know the minimums.

Hardware

RoleMinimum RAMRecommended
Server512 MB1 GB+
Agent512 MB1 GB+

Two CPU cores are recommended for a server. A single core works for tiny setups.

Operating system and CPU

  • Most modern Linux distributions (Ubuntu, Debian, Raspberry Pi OS, SUSE, RHEL).
  • Architectures: x86_64, ARM64, and ARMv7.
  • A supported kernel with cgroups enabled.

On a Raspberry Pi you often need to enable memory cgroups in the boot command line before k3s will start.

Example

Example · bash
# Check architecture and memory before installing
uname -m           # e.g. x86_64 or aarch64
free -h            # available memory
nproc              # CPU cores

# Confirm cgroups are available
cat /proc/cgroups | head

When to use it

  • A team verifies a 1-vCPU 512 MB RAM VM meets the minimum k3s requirements before provisioning a cluster for a small internal app.
  • An SRE checks that port 6443 is open in the firewall rules before attempting to join agent nodes to an existing k3s server.
  • A developer confirms the host kernel supports required cgroups before deploying k3s on a custom embedded Linux distribution.

More examples

Check cgroup support

Runs k3s's built-in config checker to verify the kernel has the cgroup features k3s needs.

Example · bash
k3s check-config
# Or manually:
grep -E 'cgroup|memory' /proc/cgroups

Verify required ports are free

Checks that the ports k3s needs are not already in use before starting the server.

Example · bash
ss -tlnp | grep -E '6443|8472|10250'
# 6443: API server, 8472: Flannel VXLAN, 10250: kubelet metrics

Inspect CPU and RAM

Shows the CPU count, available RAM, and architecture to confirm the node meets k3s minimum requirements.

Example · bash
nproc
free -mh
uname -m  # x86_64 or aarch64 (ARM64)

Discussion

  • Be the first to comment on this lesson.