程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

混沌工程开源工具对比(混沌工程开源工具对比分析)

hfteth 2025-07-27 20:10:35 技术文章 6 ℃

本文对比开源混沌工程工具

Chaos Monkey

平台:Spinnaker

发布:2012 Netflix

语言:Go

第一个开源的混沌工程工具,包含了故障注入工具Simian Army,可让您的云以最佳状态运行。 Chaos Monkey,第一个成员,是一个弹性工具,有助于确保您的应用程序可以容忍随机实例故障

  • Pros:知名的历史工具,随时创建故障
  • Cons:需要 Spinnaker 和 MySQL,只能进行 shutdown,对爆炸变径控制有限,只能随机的,没有恢复和回滚机制,无法写自己代码

ChaosBalde

Platforms: Docker, Kubernetes, bare-metal, cloud platforms

Release year: 2019

Creator: Alibaba

Language: Go

modular设计,适用场景多,包括主机、c++应用、kubernetes等

通过CLI执行,提供完整生命周期的CLI:blade prepare/create/destroy

通过Custom Resource Definitions (CRDs) 操作k8s

  • Pros:支持类型多;应用级别注入(java、c++、node.js);多种使用方式 CLI、kubernetes manifests、REST API
  • Cons:缺乏调度、安全、报告能力

Chaos Mesh

Platform: Kubernetes

Release year: 2020

Creator: PingCAP

Language: Go



Kubernetes 环境下混沌实验,缺乏 node-leave 支持,缺乏调度和时间方面 ad-hoc

  • Pros: web UI 支持暂停与恢复实验,支持 GitHub Actions 便于自动化 CI/CD
  • Cons:没有 node-level 攻击、仪表盘安全可以整个集群范围内混沌实验

Litmus

Platforms: Kubernetes

Release year: 2018

Creator: MayaData

Language: TypeScript

类似 Chaos Mesh,原始为了测试 kubernetes 存储方案 OpenEBS,测试容器、Pods、nodes ; ChaosHub 集中式公共实验存储库,任何人都可以为其作出贡献;Limus Probes 健康监测功能,可以在实验前、实验中、实验后检测应用健康 ,通过运行 shell 命令、HTTP请求、kubernetes命令检测环境


  • Pros:Web UI 提供了 dashboard 和 应用弹性能力得分;ChaosHub 提供大量实验场景;自动的系统监控检测
  • Cons:实验过程复杂;清除实验开销较大;web ui功能有限;按实验控制的权限局限性

Chaos Toolkit

Platforms: Docker, Kubernetes, bare-metal, cloud platforms

Release year: 2018

Creator: ChaosIQ

Language: Python

Chaos Toolkit 可让您完全控制实验的运行方式,直至在目标系统上执行的命令。但是由于这种 DIY 方法,Chaos Toolkit 更像是一个您需要构建的框架,而不是现成的 Chaos Engineering 解决方案

PowerfulSeal

Platforms: Kubernetes

Release year: 2017

Creator: Bloomberg

Language: Python

没有提供其他工具无法提供的功能。语法易于理解,不同的模式对实验提供了更好的控制,但它的攻击类型数量有限,并且缺乏其他区分功能。

Toxiproxy

Platforms: Any

Release year: 2014

Creator: Shopify

Language: Go

网络故障注入工具,两个组件:proxy server 和 clinet

Istio

Platform: Kubernetes

Release year: 2017

Creators: Google, IBM, and Lyft

Language: Go

服务网格,流量管控支持混沌实验功能,Istio 可以注入延迟 或 HTTP 错误到虚拟服务的网络流量中; 默认 health checks 和 envoy statistics 可以监控系统

Corns:只有两种类型实验,局限于Istio

Kubedoom

Platforms: Kubernetes

Release year: 2019

Creator: David Zuber (storax)

Language: C++

局限于 pods

工具功能对比

Tool

Works with

Total attack types

Application attacks

Host attacks

Container/Pod attacks

GUI

CLI

REST API

Metrics/reporting

Attack sharing

Attack halting

Attack scheduling

Target randomization

Custom attacks

Health checks

Gremlin

Containers, Kubernetes, bare metal, cloud

12


Chaos Monkey

Amazon Web Services (requires Spinnaker)

1






ChaosBlade

Containers, Kubernetes, bare metal, cloud

40








Chaos Mesh

Kubernetes

17





Litmus

Kubernetes

39


Chaos Toolkit

Containers, Kubernetes, bare metal, cloud

Based on driver


PowerfulSeal

Kubernetes

5+





ToxiProxy

Network

6










Istio

Kubernetes

2










KubeDoom

Kubernetes

1











AWS FIS

Amazon Web Services (RDS, EC2, ECS, EKS)

7+









Tags:

最近发表
标签列表