Code Monkey home page Code Monkey logo

chaos-charts's Introduction

Chaos-Charts

Slack Channel GitHub Workflow Docker Pulls GitHub issues Twitter Follow YouTube Channel

This repository hosts the Litmus Chaos Charts. A set of related chaos faults are bundled into a Chaos Chart. Chaos Charts are classified into the following categories.

Kubernetes Chaos

Chaos faults that apply to Kubernetes resources are classified in this category. Following chaos faults are supported for Kubernetes:

Fault Name Description Link
Container Kill Kill one container in the application pod container-kill
Disk Fill Fill the Ephemeral Storage of the Pod disk-fill
Docker Service Kill Kill docker service of the target node docker-service-kill
Kubelet Service Kill Kill kubelet service of the target node kubelet-service-kill
Node CPU Hog Stress the cpu of the target node node-cpu-hog
Node Drain Drain the target node node-drain
Node IO Stress Stress the IO of the target node node-io-stress
Node Memory Hog Stress the memory of the target node node-memory-hog
Node Restart Restart the target node node-restart
Node Taint Taint the target node node-taint
Pod Autoscaler Scale the replicas of the target application pod-autoscaler
Pod CPU Hog Stress the CPU of the target pod pod-cpu-hog
Pod Delete Delete the target pods pod-delete
Pod DNS Spoof Spoof dns requests to desired target hostnames pod-dns-spoof
Pod DNS Error Error the dns requests of the target pod pod-dns-error
Pod IO Stress Stress the IO of the target pod pod-io-stress
Pod Memory Hog Stress the memory of the target pod pod-memory-hog
Pod Network Latency Induce the network latency in target pod pod-network-latency
Pod Network Corruption Induce the network packet corruption in target pod pod-network-corruption
Pod Network Duplication Induce the network packet duplication in target pod pod-network-duplication
Pod Network Loss Induce the network loss in target pod pod-network-loss
Pod Network Partition Disrupt network connectivity to kubernetes pods pod-network-partition

Application Chaos

While chaos faults under the Kubernetes category offer the ability to induce chaos into Kubernetes resources, it is difficult to analyze and conclude if the induced chaos found a weakness in a given application. The application specific chaos faults are built with some checks on pre-conditions and some expected outcomes after the chaos injection. The result of the chaos faults is determined by matching the outcome with the expected outcome.

Fault Category Description Link
Spring Boot Faults Injects faults in Spring Boot applications Spring Boot Faults

Platform Chaos

Chaos faults that inject chaos into the platform and infrastructure resources are classified into this category. Management of platform resources vary significantly from each other, Chaos Charts may be maintained separately for each platform (For example: AWS, GCP, Azure, VMWare etc.)

Following chaos faults are classified in this category:

Fault Category Description Link
AWS Faults AWS Platform specific chaos AWS Faults
Azure Faults Azure Platform specific chaos Azure Faults
GCP Faults GCP Platform specific chaos GCP Faults
VMWare Faults VMWare Platform specific chaos VMWare Faults

Installation Steps for Chart Releases

Note: Supported from release 3.0.0

  • To install the chaos faults from a specific chart for a given release, execute the following commands with the desired <release_version>, <chart_name> & <namespace>
## downloads and unzips the released source
tar -zxvf <(curl -sL https://github.com/litmuschaos/chaos-charts/archive/<release_version>.tar.gz)

## installs the chaosexperiment resources
find chaos-charts-<release_version> -name experiments.yaml | grep <chart-name> | xargs kubectl apply -n <namespace> -f
  • For example, to install the Kubernetes fault chart bundle for release 3.0.0, in the sock-shop namespace, run:
tar -zxvf <(curl -sL https://github.com/litmuschaos/chaos-charts/archive/3.0.0.tar.gz)
find chaos-charts-3.0.0 -name experiments.yaml | grep kubernetes | xargs kubectl apply -n sock-shop -f
  • If you would like to install a specific fault, replace the experiments.yaml in the above command with the relative path of the fault manifest within the parent chart. For example, to install only the pod-delete fault, run:
find chaos-charts-3.0.0 -name fault.yaml | grep 'kubernetes/pod-delete' | xargs kubectl apply -n sock-shop -f

License

FOSSA Status

chaos-charts's People

Contributors

ispeakc0de avatar uditgaurav avatar litmusbot avatar oumkale avatar amitbhatt818 avatar imrajdas avatar neelanjan00 avatar ajeshbaby avatar amityt avatar ishangupta-ds avatar avaakash avatar aditya109 avatar jonsy13 avatar gdsoumya avatar saranya-jena avatar umamukkara avatar torumakabe avatar w3aman avatar sumitnagal avatar navinjoy avatar iassurewipro avatar gprasath avatar ghoshankur1983 avatar fossabot avatar dharmaanu avatar williamhyzhang avatar sanjay1611 avatar shreyangi avatar rahulchheda avatar machacekondra avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.