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
| Name | Type | Required | Default | Description |
|---|---|---|---|---|
workers | string | No | "1" | Number of I/O stress worker threads |
size | string | No | "1g" | Total I/O size per worker |
duration | string | No | experiment duration | How 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.