Git Product home page Git Product 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 experiments are bundled into a Chaos Chart. Chaos Charts are classified into the following categories.

Generic Chaos

Chaos actions that apply to generic Kubernetes resources are classified into this category. Following chaos experiments are supported under Generic Chaos Chart

Experiment 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 Experiments under the Generic category offer the ability to induce chaos into Kubernetes resources, it is difficult to analyze and conclude if the chaos induced found a weakness in a given application. The application specific chaos experiments are built with some checks on pre-conditions and some expected outcomes after the chaos injection. The result of the chaos experiment is determined by matching the outcome with the expected outcome.

Experiment Name Description Link
OpenEBS Experiments Injects faults in OpenEBS tool OpenEBS experiments

Platform Chaos

Chaos experiments that inject chaos into the platform resources of Kubernetes 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 Platform Chaos experiments are available on ChaosHub

Experiment Name Description Link
AWS Experiments AWS Platform specific chaos AWS Experiments
Azure Experiments Azure Platform specific chaos Azure Experiments
GCP Experiments GCP Platform specific chaos GCP Experiments
VMWare Experiments VMWare Platform specific chaos VMWare Experiments

Installation Steps for Chart Releases

Note: Supported from release 1.1.0

  • To install the chaos experiments 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 generic experiment chart bundle for release 1.1.0, in the sock-shop namespace, run:
tar -zxvf <(curl -sL https://github.com/litmuschaos/chaos-charts/archive/1.1.0.tar.gz)
find chaos-charts-1.1.0 -name experiments.yaml | grep generic | xargs kubectl apply -n sock-shop -f
  • If you would like to install a specific experiment, replace the experiments.yaml in the above command with the relative path of the experiment manifest within the parent chart. For example, to install only the pod-delete experiment, run:
find chaos-charts-1.1.0 -name experiment.yaml | grep 'generic/pod-delete' | xargs kubectl apply -n sock-shop -f

License

FOSSA Status

chaos-charts's People

Contributors

aditya109 avatar ajeshbaby avatar amitbhatt818 avatar amityt avatar avaakash avatar dharmaanu avatar fossabot avatar gdsoumya avatar ghoshankur1983 avatar gprasath avatar iassurewipro avatar imrajdas avatar ishangupta-ds avatar ispeakc0de avatar jonsy13 avatar litmusbot avatar machacekondra avatar navinjoy avatar neelanjan00 avatar oumkale avatar rahulchheda avatar sanjay1611 avatar shreyangi avatar strikerrus avatar sumitnagal avatar torumakabe avatar uditgaurav avatar umamukkara avatar w3aman avatar williamhyzhang 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.