IO Hog Scenario
Overview
The IO Hog scenario is designed to create disk I/O pressure on one or more nodes in your Kubernetes/OpenShift cluster for a specified duration. This scenario helps you test how your cluster and applications respond to high disk I/O utilization and storage-related bottlenecks.
How It Works
The scenario deploys a stress workload pod on targeted nodes. These pods use stress-ng to perform intensive write operations to disk, consuming I/O resources according to your configuration. The scenario supports attaching node paths to the pod as a hostPath volume or using custom pod volume definitions, allowing you to test I/O pressure on specific storage targets.
When to Use
Use the IO Hog scenario to:
- Test your cluster’s behavior under disk I/O pressure
- Validate that I/O resource limits are properly configured
- Evaluate the impact of disk I/O contention on application performance
- Test whether your monitoring systems properly detect disk saturation
- Verify that storage performance meets requirements under stress
- Simulate scenarios where pods perform excessive disk writes
- Test the resilience of persistent volume configurations
- Validate disk I/O quotas and rate limiting
Key Configuration Options
In addition to the common hog scenario options, IO Hog scenarios support:
| Option | Type | Description |
|---|---|---|
io-block-size | string | The size of each individual write operation performed by the stressor |
io-write-bytes | string | The total amount of data that will be written by the stressor. Can be specified as a percentage (%) of free space on the filesystem or in absolute units (b, k, m, g for Bytes, KBytes, MBytes, GBytes) |
io-target-pod-folder | string | The path within the pod where the volume will be mounted |
io-target-pod-volume | dictionary | The pod volume definition that will be stressed by the scenario (typically a hostPath volume) |
io-target-pod-volume might alter how the hog operates, potentially rendering it ineffective.Example Values
io-block-size: "1m"- Write in 1 megabyte blocksio-block-size: "4k"- Write in 4 kilobyte blocksio-write-bytes: "50%"- Write data equal to 50% of available free spaceio-write-bytes: "10g"- Write 10 gigabytes of data
Usage
Select your deployment method to get started:
- IO Hog using Krkn - Configuration for direct Krkn usage
- IO Hog using Krknctl - Configuration for Krknctl CLI
- IO Hog using Krkn-Hub - Configuration for Krkn-Hub