基本功能

    故障注入是混沌实验的核心。Chaos Mesh 充分考虑分布式系统可能出现的故障,提供全面、细粒度的故障类型,分为基础资源类型故障、平台类型故障和应用层故障三大类。

    • 基础资源类型故障:
      • PodChaos:模拟 Pod 故障,例如 Pod 节点重启、Pod 持续不可用,以及特定 Pod 中的某些容器故障。
      • :模拟网络故障,例如网络延迟、网络丢包、包乱序、各类网络分区。
      • HTTPChaos:模拟 HTTP 通信故障,例如 HTTP 通信延迟。
      • :模拟 CPU 抢占或内存抢占场景。
      • IOChaos:模拟具体某个应用的文件 I/O 故障,例如 I/O 延迟、读写失败。
      • :模拟时间跳动异常。
      • KernelChaos:模拟内核故障,例如应用内存分配异常。
    • 平台类型故障:
      • :模拟 AWS 平台故障,例如 AWS 节点重启。
    • 应用层故障:
      • JVMChaos:模拟 JVM 应用故障,例如函数调用延迟。

    混沌实验场景由一组混沌实验和应用状态检查组成,旨在帮助用户在平台上实现混沌工程闭环。

    目前混沌实验场景提供的功能有:

    • 编排串行混沌实验
    • 编排并行混沌实验
    • 支持状态检查步骤
    • 支持中途暂停混沌实验
    • 支持使用 YAML 文件定义和管理混沌实验场景

    具体的实验场景配置,参考具体。

    Chaos Mesh 通过 Kubernetes 原生的 RBAC(基于角色的权限控制)功能对权限进行管理。

    此外 Chaos Mesh 还支持通过设置 Namespace Annotation 的方式开启特定 Namespace 下混沌实验的权限,进一步保障混沌实验的可控性。