ChaosBlade介绍

南墨2年前技术文章1285

ChaosBlade 是阿里巴巴开源的一款遵循混沌工程原理和混沌实验模型的实验注入工具,帮助企业提升分布式系统的容错能力,并且在企业上云或往云原生系统迁移过程中业务连续性保障。

Chaosblade 是内部 MonkeyKing 对外开源的项目,其建立在阿里巴巴近十年故障测试和演练实践基础上,结合了集团各业务的最佳创意和实践。

image.png

将场景按领域实现封装成一个个单独的项目,不仅可以使领域内场景标准化实现,而且非常方便场景水平和垂直扩展,通过遵循混沌实验模型,实现 chaosblade cli 统一调用。目前包含的项目如下:


chaosblade:混沌实验管理工具,包含创建实验、销毁实验、查询实验、实验环境准备、实验环境撤销等命令,是混沌实验的执行工具,执行方式包含 CLI 和 HTTP 两种。提供完善的命令、实验场景、场景参数说明,操作简洁清晰。

chaosblade-spec-go: 混沌实验模型 Golang 语言定义,便于使用 Golang 语言实现的场景都基于此规范便捷实现。

chaosblade-exec-os: 基础资源实验场景实现。

chaosblade-exec-docker: Docker 容器实验场景实现,通过调用 Docker API 标准化实现。

chaosblade-operator: Kubernetes 平台实验场景实现,将混沌实验通过 Kubernetes 标准的 CRD 方式定义,很方便的使用 Kubernetes 资源操作的方式来创建、更新、删除实验场景,包括使用 kubectl、client-go 等方式执行,而且还可以使用上述的 chaosblade cli 工具执行。

chaosblade-exec-jvm: Java 应用实验场景实现,使用 Java Agent 技术动态挂载,无需任何接入,零成本使用,而且支持卸载,完全回收 Agent 创建的各种资源。

chaosblade-exec-cplus: C++ 应用实验场景实现,使用 GDB 技术实现方法、代码行级别的实验场景注入。


相关文章

Ranger中Solr审计日志配置修改

Ranger中Solr审计日志配置修改

1、获取solr 中的rangeraudits的配置#查看其中的配置及 solrctl instancedir --list#获取配置 solrctl instancedir --get rang...

ReadConcern与WriteConcern

一、ReadConcern1、ReadConcern vs ReadPreferenceReadPreference 主要控制从副本集哪个节点来读取数据,该参数可以实现读写分离、就近读取的功能prim...

Kubernetes源码解读(一)--WorkQueue源码分析

Kubernetes源码解读(一)--WorkQueue源码分析

 WorkQueue被称为工作队列,kubernets的WorkQueue队列与普通FIFO队列相比多了以下特性:有序:按照添加顺序处理元素(item)去重:相同元素在同一时间不会被重复处理,例如:一...

触发kube-apiserver流控导致ACK集群中节点状态异常

触发kube-apiserver流控导致ACK集群中节点状态异常

问题现象ack集群中一个节点状态为notready,但是排查节点上的核心组件:kubelet、kube-proxy、flannel、etcd等状态均为正常。排查步骤1、查日志分别排查核心组件以及系统日...

CDP实操--配置Hive/Impala的Ranger策略验证(二)

CDP实操--配置Hive/Impala的Ranger策略验证(二)

1.1Hive/impala的Ranger策略验证确保hive-on-tez的配置页面里已经勾选了“Ranger Service”在terminal中,kerberos登录到hive,用如下命令登录b...

mysqldump导入备份文件报错记录

mysqldump导入备份文件报错记录

mysqldump导入备份文件报错记录【问题记录1】目前遇到过两类报错,均主要是因为 GTID 引起,两类报错内容完全不同,但解决方法相同,报错内容具体如下:第一类报错:在自建数据库往云上数据库导入数...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。