LitmusChaos Documentation

repository·master·Indexed 26 days ago

https://github.com/litmuschaos/litmus

An open-source, CNCF-hosted Chaos Engineering platform for inducing and managing controlled faults in Kubernetes environments. This documentation covers the installation of the LitmusChaos Operator, configuration of the GraphQL server and Prometheus metrics, integration with Argo Workflows, and the setup of Grafana dashboards for monitoring system resilience and chaos experiments.

Tokens
216.3K
Snippets
428
Records
828
Agent score
90%

What's inside LitmusChaos

  1. Overview of Pod IO Stress experiment

    master
    The pod-io-stress experiment causes disk stress on an application pod. It is used to verify the resiliency of applications that share disk resources for ephemeral or persistent storage. This helps simulate "Noisy Neighbour" scenarios where heavy IO can cause degradation in reads/writes for other microservices or lead to node eviction due to disk pressure.
  2. Overview of LitmusChaos Cloud-Native Chaos Engineering

    master

    LitmusChaos is a cloud-native toolset designed for orchestrating chaos experiments on Kubernetes. It helps Site Reliability Engineers (SREs) identify vulnerabilities in their deployments by running chaos experiments in staging environments and eventually in production to increase system resilience.

    Litmus uses Kubernetes Custom Resource Definitions (CRDs) to create, manage, and monitor chaos:

    • ChaosEngine: A resource that links a Kubernetes application or node to a specific chaos experiment. It is watched by the Litmus Chaos Operator to trigger experiments.
    • ChaosExperiment: A resource that groups the configuration parameters of a chaos experiment. These are created by the operator when a ChaosEngine is applied.
    • ChaosResult: A resource used to store the results of a chaos experiment. The chaos exporter reads these results and exports metrics to a configured Prometheus server.
  3. Overview of LitmusChaos

    master

    LitmusChaos is an open-source cloud chaos engineering platform designed to orchestrate chaos in Kubernetes. It helps developers, SREs, and CI/CD pipelines identify vulnerabilities and improve system stability by running chaos experiments in staging and production environments.

    Litmus uses Kubernetes Custom Resource Definitions (CRDs) for orchestration:

    • ChaosEngine: Links a Kubernetes application or node to a ChaosExperiment. It is managed by the Chaos-Operator.
    • ChaosExperiment: Defines the configuration parameters for a specific chaos experiment.
    • ChaosResult: Stores the results of an experiment. Results can be exported to Prometheus via a ServiceMonitor using the Chaos-exporter.
  4. Overview of LitmusChaos core concepts

    master

    LitmusChaos is a cloud-native chaos engineering platform that orchestrates chaos on Kubernetes to help SREs identify weaknesses in deployments. It uses Kubernetes Custom Resource Definitions (CRDs) to manage the chaos lifecycle:

    • ChaosEngine: A resource that links a Kubernetes application or node to a ChaosExperiment. The Litmus chaos operator monitors this resource to trigger experiments.
    • ChaosExperiment: A resource that encapsulates the configuration parameters for a specific chaos experiment. These are created by the operator when invoked by a ChaosEngine.
    • ChaosResult: A resource that stores the results of a chaos experiment. The Chaos exporter reads these results and exports metrics to a configured Prometheus server.
  5. Overview of LitmusChaos Architecture

    master

    LitmusChaos is an open-source chaos engineering platform designed to identify infrastructure weaknesses and operational disruptions. It uses a cloud-native approach, managing chaos through Kubernetes Custom Resources (CRs). The architecture is divided into two main planes:

    • Chaos Control Plane: Includes the Chaos Center, a centralized management tool used to configure, schedule, and visualize chaos workflows.
    • Chaos Execution Plane Services: Consists of a Chaos Agent and multiple Operators that execute and monitor experiments within the target Kubernetes environments.
  6. LitmusChaos Use Cases

    master

    LitmusChaos can be integrated into various stages of the software lifecycle:

    • Developers: Use chaos experiments during development as an extension of unit or integration testing.
    • CI/CD Pipeline Builders: Integrate chaos as a pipeline stage to identify bugs when applications encounter fail paths.
    • SREs: Plan and schedule chaos experiments against applications and infrastructure to identify deployment weaknesses and increase resilience.
  7. Access Litmus Troubleshooting by category

    master

    If you encounter issues, refer to the troubleshooting guides organized by component:

    Troubleshooting Categories

    • Install: Troubleshooting related to Litmus installation.
    • Experiments: Troubleshooting related to Litmus experiments.
    • Portal: Troubleshooting related to the Litmus portal.
    • Scheduler: Troubleshooting related to the Litmus scheduler.
  8. Understand Litmus Probes

    master

    Litmus probes are pluggable checks that can be defined within a ChaosEngine for any chaos experiment. These probes are executed by experiment pods and their success or failure is used as a necessary condition to determine the overall verdict of the experiment, alongside standard in-built checks.

    Available probe types include:

    • Command Probe: Executes specific commands.
    • HTTP Probe: Performs HTTP-based checks.
    • K8S Probe: Performs Kubernetes-native checks.
    • Prometheus Probe: Executes checks based on Prometheus metrics.
    • Probe Chaining: Allows for chaining multiple probes together.