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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workers | string | No | "1" | Number of CPU stress worker threads |
load | string | No | "100" | Target CPU load percentage (0-100) |
duration | string | No | experiment duration | How 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.