Scenarios
Supported chaos scenarios
Scenario | Plugin Type | Description |
---|---|---|
Pod failures | pod_disruption_scenarios | Injects pod failures |
Container failures | container_scenarios | Injects container failures based on the provided kill signal |
Node failures | node_scenarios | Injects node failure through OpenShift/Kubernetes, cloud API’s |
Zone outages | zone_outages_scenarios | Creates zone outage to observe the impact on the cluster, applications |
Time skew | time_scenarios | Skews the time and date |
Node cpu hog | hog_scenarios | Hogs CPU on the targeted nodes |
Node memory hog | hog_scenarios | Hogs memory on the targeted nodes |
Node IO hog | hog_scenarios | Hogs io on the targeted nodes |
Service Disruption | service_disruption_scenarios | Deleting all objects within a namespace |
Application outages | application_outages_scenarios | Isolates application Ingress/Egress traffic to observe the impact on dependent applications and recovery/initialization timing |
Power Outages | cluster_shut_down_scenarios | Shuts down the cluster for the specified duration and turns it back on to check the cluster health |
PVC disk fill | pvc_scenarios | Fills up a given PersistenVolumeClaim by creating a temp file on the PVC from a pod associated with it |
Network Chaos | network_chaos_scenarios | Introduces network latency, packet loss, bandwidth restriction in the egress traffic of a Node’s interface using tc and Netem |
Network Chaos NG | network_chaos_ng_scenarios | Introduces Node network filtering scenario and a new infrastructure to refactor and port the Network Chaos scenarios |
Pod Network Chaos | pod_network_scenarios | Introduces network chaos at pod level |
Service Hijacking | service_hijacking_scenarios | Hijacks a service http traffic to simulate custom HTTP responses |
Syn Flood | syn_flood_scenarios | Generates a substantial amount of TCP traffic directed at one or more Kubernetes services |
How to Use Plugin Names
Use the plugin type in the second column above when creating your chaos_scenarios section in the config/config.yaml file
kraken:
kubeconfig_path: ~/.kube/config # Path to kubeconfig
..
chaos_scenarios:
- <plugin_type>:
- scenarios/<scenario_name>.yaml