Skip to main content

node-cpu-stress

Runs CPU stress workers on the node host (not inside a pod cgroup). Tests how node-level CPU saturation affects all workloads on that node.

Target kind: Node
Implementation: Daemon (ExecStressChaos with stressorType: cpu)
Rollback: Yes — sends CancelChaos to terminate stress-ng

Parameters

NameTypeRequiredDefaultDescription
workersstringNo"1"Number of CPU stress worker threads
loadstringNo"100"Target CPU load percentage (0-100)
durationstringNoexperiment durationHow long to run stress

Example

apiVersion: chaos.chaosplane.io/v1alpha1
kind: ChaosExperiment
metadata:
name: node-cpu-stress-example
namespace: chaosplane
spec:
target:
kind: Node
labelSelector:
matchLabels:
node-role.kubernetes.io/worker: ""
action:
type: node-cpu-stress
parameters:
workers: "4"
load: "90"
duration: "60s"
duration: 60s
rollback:
enabled: true

Rollback behavior

Sends CancelChaos RPC to the daemon, which terminates the stress-ng process.

Implementation notes

Unlike pod-cpu-stress, this runs at the node level and is not scoped to a pod's cgroup. All pods on the node compete for the remaining CPU. The daemon runs stress-ng --cpu N --cpu-load LOAD directly on the host. The operator tracks execution IDs per experiment UID to support concurrent experiments on the same node.