Skip to main content

pod-io-stress

Generates disk I/O load inside the pod's cgroup, testing how your app handles slow storage and I/O saturation.

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

Parameters

NameTypeRequiredDefaultDescription
workersstringNo"1"Number of I/O stress worker threads
sizestringNo"1g"Total I/O size per worker
durationstringNoexperiment durationHow long to run stress

Example

apiVersion: chaos.chaosplane.io/v1alpha1
kind: ChaosExperiment
metadata:
name: pod-io-stress-example
namespace: default
spec:
target:
kind: Pod
namespace: default
labelSelector:
matchLabels:
app: postgres
action:
type: pod-io-stress
parameters:
workers: "4"
size: "2g"
duration: "30s"
duration: 30s
rollback:
enabled: true

Rollback behavior

Sends CancelChaos RPC to the daemon, which terminates the stress-ng I/O workers.

Implementation notes

The daemon runs stress-ng --io N --hdd-bytes SIZE inside the pod's cgroup namespace. I/O is performed on the pod's writable layer. This can fill up ephemeral storage if size is set too high — use with caution on pods with resources.limits.ephemeral-storage.