TBD

Running Kubeshark at a steady state

Running Kubeshark at a steady state, without using the Dashboard should require very little resources in terms of CPU and memory. In this state, Kubeshark captures all traffic and save it to the Worker nodes local storage.

Using the Dashboard

Depending on the amount of traffic and the various queries perform in the dashboard, the dashboard can consume significant efforts.

In any event, Workers will not consume more resources than the provided limits.

If the traffic workload is high, you can assign dedicated resources that will be used only when you conduct your investigation and will offload .

The following elements impact performance and resource consumption:

  • Using the dashboard
  • The KFL

Running Kubeshark without the dashboard

Using the Dashboard

Using Scripts

KPIDescription
ALLOCBytes of allocated heap objects including all reachable objects, as well as unreachable objects that the garbage collector has not yet freed. Specifically, ALLOC increases as heap objects are allocated and decreases as the heap is swept and unreachable objects are freed. Sweeping occurs incrementally between GC cycles, so these two processes occur simultaneously, and as a result ALLOC tends to change smoothly.
RSSResident set size. The portion of memory occupied by a process that is held in main memory (RAM).
CPU100 = 1 CPU
PROCESSED BYTESAmount of bytes processed over period of time
TOTAL PACKETSAmount of packets processed over period of time
REASSEMBLEDAmount of messages that were successfully reassembled over period of time
PACKETS RECEIVEDAmount of packets received over period of time
PACKETS DROPPEDsAmount of packets dropped over period of time

(1) Medium load test, using two workers of size c5.xlarge, over a short period of time, using AF_PACKET with no dashboard

#PeriodTest TypeDashboardLibraryALLOCCPUPROCESSED BYTESTOTAL PACKETSREASSEMBLEDPACKETS RECEIVEDPACKETS DROPPED
(1)46m25Load TestNoAF_PACKET91.1MB13%1.8GB2.6MB549K2.6M0

Scenarios 1-2 did not consider whether the dashboard was open or not. (1) Small load testing over a short period of time, using AF_PACKET and KFL to focus only on two pods: no reassembly
(2) Small load testing over a short period of time, using AF_PACKET and KFL to focus only on two pods: with reassembly
(3) Stress testing over a long period of time, using AF_PACKET and KFL to focus only on two pods

ScenarioPeriodTest TypeLibraryALLOCRSSCPUPROCESSED BYTESTOTAL PACKETSREASSEMBLEDPACKETS RECEIVEDPACKETS DROPPED
(1)48m50Small LoadAF_PACKET41.23MB102.8MB82.7M2887031700
(2)1h1m45Small LoadAF_PACKET76.19MB162.2MB11.6130MB384K48K263K0
(3)13h43m15StressAF_PACKET620.3MB832.5MB604.6GB2.5M1M1.2M358