grafana/k6-chaos

Implement custom image for disruptors

Closed this issue · 0 comments

The execution of reliability tests requires the injection of different types of disruptions such as resource stress (CPU, Memory, IO) or network disturbances (delays, package loss, disconnections.) into a target (a node or a pod). These disruptions are created by tools such as stress-ng, netmem or some custom code. In some cases, multiple disruptors are required in a single experiment.

Depending on the target of the test, these disruptions must be injected by means or either a job running on a target node or an ephemeral container running in a target pod. Therefore, the tools must be available in an image and be invocable as a command.

To address these requirements it would be convenient to have a custom image for k6-chaos that

  • Packs all required disruptors
  • Exposes an entry point that servers as a frontend for the disruptors.

The entry point for the custom image should be able to

  • Execute multiple disruptors concurrently
  • Expose an uniform interface in the form of command line arguments
  • Control the duration of the disruption