混沌工程开源工具对比

混沌工程开源工具对比

解决方案goocz2025-01-11 14:22:1624A+A-

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

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+

??

??

??

??

??









点击这里复制本文地址 以上内容由goocz整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!

果子教程网 © All Rights Reserved.  蜀ICP备2024111239号-5