Chaos Faults
The fault execution is triggered when the chaosengine resource (various examples of which are provided under the respective faults) is created. Typically, these chaosengines are embedded within the 'steps' of a chaos fault. However, you can also create the chaosengine manually, and the chaos-operator reconciles this resource and triggers the fault execution.
Provided below are tables with links to the individual fault docs for easy navigation.
Kubernetes Faults
Kubernetes faults disrupt the resources running on a cluster. They can be categorized into pod-level faults and node-level faults.
Pod Chaos
Fault Name | Description | User Guide |
---|---|---|
Container Kill | Kills the container in the application pod | container-kill |
Disk Fill | Fill up Ephemeral Storage of a Resourced | disk-fill |
Pod Autoscaler | Scales the application replicas and test the node autoscaling on cluster | pod-autoscaler |
Pod CPU Hog Exec | Consumes CPU resources on the application container by invoking a utility within the app container base image | pod-cpu-hog-exec |
Pod CPU Hog | Consumes CPU resources on the application container | pod-cpu-hog |
Pod Delete | Deletes the application pods. | pod-delete |
Pod DNS Error | Disrupt dns resolution in kubernetes po | pod-dns-error |
Pod DNS Spoof | Spoof dns resolution in kubernetes pod | pod-dns-spoof |
Pod IO Stress | Injects IO stress resources on the application container | pod-io-stress |
Pod Memory Hog Exec | Consumes Memory resources on the application container by invoking a utility within the app container base image | pod-memory-hog-exec |
Pod Memory Hog | Consumes Memory resources on the application container | pod-memory-hog |
Pod Network Corruption | Injects Network Packet Corruption into Application Pod | pod-network-corruption |
Pod Network Duplication | Injects Network Packet Duplication into Application Pod | pod-network-duplication |
Pod Network Latency | Injects Network latency into Application Pod | pod-network-latency |
Pod Network Loss | Injects Network loss into Application Pod | pod-network-loss |
Pod HTTP Latency | Injects HTTP latency into Application Pod | pod-http-latency |
Pod HTTP Reset Peer | Injects HTTP reset peer into Application Pod | pod-http-reset-peer |
Pod HTTP Status Code | Injects HTTP status code chaos into Application Pod | pod-http-status-code |
Pod HTTP Modify Body | Injects HTTP modify body into Application Pod | pod-http-modify-body |
Pod HTTP Modify Header | Injects HTTP Modify Header into Application Pod | pod-http-modify-header |
Node Chaos
Fault Name | Description | User Guide |
---|---|---|
Docker Service Kill | Kills the docker service on the application node | docker-service-kill |
Kubelet Service Kill | Kills the kubelet service on the application node | kubelet-service-kill |
Node CPU Hog | Exhaust CPU resources on the Kubernetes node. | node-cpu-hog |
Node Drain | Drains the target node | node-drain |
Node IO Stress | Injects IO stress resources on the application node | node-io-stress |
Node Memory Hog | Exhaust Memory resources on the Kubernetes Node | node-memory-hog |
Node Restart | Restarts the target node | node-restart |
Node Taint | Taints the target node | node-taint |
Cloud Infrastructure
Chaos faults that inject chaos into Kubernetes platform resources are classified in this category. Platform management for these resources differs significantly. You can maintain chaos charts separately for each platform (For example, AWS, GCP, Azure, etc).
The below mentioned platform chaos faults are available:
AWS
Fault Name | Description | User Guide |
---|---|---|
EC2 Stop By ID | Stop EC2 instances using the instance IDs. | ec2-stop-by-id |
EC2 Stop By Tag | Stop the EC2 instance using the instance tag | ec2-stop-by-tag |
EBS Loss By ID | Detach the EBS volume using the volume id | ebs-loss-by-id |
EBS Loss By Tag | Detach the EBS volume using the volume tag | ebs-loss-by-tag |
EC2 CPU Hog | Inject CPU stress chaos on EC2 instance | ec2-cpu-hog |
EC2 Memory Hog | Inject Memory stress chaos on EC2 instance | ec2-memory-hog |
EC2 IO Stress | Inject IO stress chaos on EC2 instance | ec2-io-stress |
EC2 HTTP Latency | Inject HTTP latency for services running on the EC2 instances. | ec2-http-latency |
EC2 HTTP Reset Peer | Inject connection reset for services running on the EC2 instances. | ec2-http-reset-peer |
EC2 HTTP Status Code | Modifies HTTP response status code for services running on the EC2 instances. | ec2-http-status-code |
EC2 HTTP Modify Body | Modifies HTTP response body for services running on the EC2 instances. | ec2-http-modify-body |
EC2 HTTP Modify Header | Modifies HTTP request or response headers for services running on the EC2 instances. | ec2-http-modify-header |
EC2 Network Loss | Injects network loss on the target EC2 instance(s) | ec2-network-loss |
EC2 Network Latency | Injects network latency on the target EC2 instance(s) | ec2-network-latency |
EC2 Dns Chaos | Injects dns faults on the target EC2 instance(s) | ec2-dns-chaos |
ECS Task Stop | Injects task stop chaos on ECS tasks | ecs-task-stop |
ECS Container CPU Hog | Injects container cpu hog chaos on ECS task containers | ecs-container-cpu-hog |
ECS Container IO Stress | Injects container IO stress chaos on ECS task containers | ecs-container-io-stress |
ECS Container Memory Hog | Injects container memory hog chaos on ECS task containers | ecs-container-memory-hog |
EC2 Container Network Latency | Injects container network latency chaos on ECS task containers | ecs-container-network-latency |
EC2 Container Network Loss | Injects container network latency chaos on ECS task containers | ecs-container-network-loss |
EC2 Agent Stop | Injects ECS agent stop chaos on target ECS cluster | ecs-agent-stop |
EC2 Instance Stop | Injects ECS instance stop chaos on target ECS cluster | ecs-instance-stop |
RDS Instance Delete | Injects RDS instance delete chaos on target RDS instance/cluster | rds-instance-delete |
RDS Instance Reboot | Injects RDS instance reboot chaos on target RDS instance/cluster | rds-instance-reboot |
Lambda Delete Event Source Mapping | Inject chaos to delete event source mapping of target lambda function | lambda-delete-event-source-mapping |
Lambda Toggle Event Mapping State | Inject chaos to toggle event mapping state of target lambda function | lambda-toggle-event-mapping-state |
Lambda Update Function Memory | Inject chaos to update the lambda function memory limit | lambda-update-function-memory |
Lambda Update Function Timeout | Inject chaos to update the lambda function timeout value | lambda-update-function-timeout |
Lambda Update Role Permission | Inject chaos to update (or change) the role attached to the Lambda function | lambda-update-role-permission |
Lambda Delete Function Concurrency | Inject chaos to delete the reserved concurrency of the Lambda function | lambda-delete-function-concurrency |
GCP
Fault Name | Description | User Guide |
---|---|---|
GCP VM Instance Stop | Stop GCP VM instances using the VM names. | gcp-vm-instance-stop |
GCP VM Disk Loss | Detach the GCP disk | gcp-vm-disk-loss |
GCP VM Instance Stop By Label | Stop GCP VM instances using label selectors | gcp-vm-instance-stop-by-label |
GCP VM Disk Loss By Label | Detach the GCP disk using label selectors | gcp-vm-disk-loss-by-label |
Azure
Fault Name | Description | User Guide |
---|---|---|
Azure Instance Stop | Stop Azure VM instances. | azure-instance-stop |
Azure Instance CPU Hog | Inject CPU stress chaos on Azure instance | azure-instance-cpu-hog |
Azure Instance Memory Hog | Inject Memory stress chaos on Azure instance | azure-instance-memory-hog |
Azure Instance IO Stress | Inject IO stress chaos on Azure instance | azure-instance-io-stress |
Azure Disk Loss | Detach Azure disk from instance | azure-disk-loss |
Azure Web App Stop | Stops an Azure web app service | azure-web-app-stop |
Azure Web App Access Restrict | Add access restriction for the target web app service | azure-web-app-access-restrict |
VMWare
Fault Name | Description | User Guide |
---|---|---|
VMware VM Poweroff | Poweroff VMware VMs using the MOIDs | vmware-vmpoweroff |
VMWare DNS Chaos | Injects DNS errors on the VMWare VM(s). | vmware-dns-chaos |
VMWare Network Loss | Injects network loss on the target VM(s). | vmware-network-loss |
VMWare Network Latency | Injects network latency on the target VM(s) | vmware-network-latency |
VMware HTTP Latency | Add HTTP Latency to the services running on the VM(s). | vmware-http-latency |
VMware HTTP Reset Peer | Simulate connection lost for HTTP requests on the services running on the VM(s). | vmware-http-reset-peer |
VMware HTTP Modify Response | Modify HTTP Response on services running on the VM(s). | vmware-http-modify-response |
VMware VM Process kill | Kill the processes running in the VMware VMs using the PROCESS_IDS | vmware-process-kill |
VMware VM Cpu Hog | VMware CPU hog fault consumes the CPU resources on Linux OS based VMware VM | vmware-cpu-hog |
VMware VM Memory Hog | VMware memory hog fault consumes the Memory resources on Linux OS based VMware VM | vmware-memory-hog |
VMware VM IO Stress | This fault causes disk stress on the target VMware VMs. | vmware-io-stress |
VMware VM Service Stop | VMware Service Stop fault stops the target systemd services running on Linux OS based VMware VM | vmware-service-stop |
VMware VM Disk Loss | VMware Disk Loss fault will detach the disks attached to a Linux OS based VMware VM. | vmware-disk-loss |
VMware Host Reboot | VMware Host Reboot fault reboots a VMware host attached to the Vcenter | vmware-host-reboot |
Kube Resilience
Fault Name | Description | User Guide |
---|---|---|
Kubelet Density | Check kubelet resilience for a specific node | kubelet-density |