Resource Profiling

This section captures the results of tests to determine minimum resource requirements for RKE2.

Scope of Resource Testing

The resource tests were intended to address the following problem statements:

  • On a single-node cluster, determine the legitimate minimum amount of CPU and memory entire RKE2 server stack, assuming that a real workload will be deployed on the cluster.

  • On an agent node, determine the legitimate minimum amount of CPU and memory that should be set aside for the kubelet and RKE2 agent components.

Environment and Components

Arch OS System CPU RAM Disk

x86_64

Ubuntu 22.04

AWS c6id.xlarge

Intel Xeon Platinum 8375C CPU, 4 Core 2.90 GHz

8 GB

NVME SSD

The tested components are:

Methodology

systemd-cgtop was used to track systemd cgroup-level CPU and memory utilization.

  • system.slice/rke2-server.service tracks resource utilization for both RKE2 and containerd components.

  • system.slice/rke2-agent.service tracks resource utilization for the agent components.

Utilization figures were based on 95th percentile readings from steady state operation on nodes running the described workloads, giving an upper bounds on typical resource usage.

RKE2 Server with a Workload

These are the requirements for a single-node cluster in which the RKE2 server shares resources with a simple workload.

System CPU Core Usage Memory

Intel 8375C

17% of a core

4977 MB

RKE2 Cluster with a Single Agent

These are the baseline requirements for a RKE2 cluster with a RKE2 server node and a RKE2 agent, but no workload.

Node System CPU Core Usage Memory

Server

Intel 8375C

18% of a core

4804 MB

Agent

Intel 8375C

5% of a core

3590 MB