跳到主要内容

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

ArchOSSystemCPURAMDisk
x86_64Ubuntu 22.04AWS c6id.xlargeIntel Xeon Platinum 8375C CPU, 4 Core 2.90 GHz8 GBNVME 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.

SystemCPU Core UsageMemory
Intel 8375C17% of a core4977 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.

NodeSystemCPU Core UsageMemory
ServerIntel 8375C18% of a core4804 MB
AgentIntel 8375C5% of a core3590 MB