ChaosBlade
介绍
chaosblade 是一款简单易用、功能强大的混沌实验工具,阿里团队开源项目
OSCHINA 公布 2019 年度最受欢迎中国开源软件
安装部署
安装包下载地址:https://github.com/chaosblade-io/chaosblade/releases (chaosblade-0.4.0-linux-amd64.tar.gz)
解压后目录树:
├── bin
│ ├── chaosblade-cplus-spec.yaml
│ ├── chaosblade-docker-spec-0.4.0.yaml
│ ├── chaosblade-jvm-spec-0.4.0.yaml
│ ├── chaosblade-k8s-spec-0.4.0.yaml
│ ├── chaosblade-os-spec-0.4.0.yaml
│ ├── chaos_burncpu
│ ├── chaos_burnio
│ ├── chaos_burnmem
│ ├── chaos_changedns
│ ├── chaos_dlnetwork
│ ├── chaos_dropnetwork
│ ├── chaos_filldisk
│ ├── chaos_killprocess
│ ├── chaos_stopprocess
│ └── tools.jar
├── blade
└── lib
├── cplus
│ ├── chaosblade-exec-cplus.jar
│ └── script
│ ├── shell_break_and_return_attach.sh
│ ├── shell_break_and_return.sh
│ ├── shell_check_process_duplicate.sh
│ ├── shell_check_process_id.sh
│ ├── shell_initialization.sh
│ ├── shell_modify_variable_attch.sh
│ ├── shell_modify_variable.sh
│ ├── shell_remove_process.sh
│ ├── shell_response_delay_attach.sh
│ └── shell_response_delay.sh
└── sandbox
├── bin
│ └── sandbox.sh
├── cfg
│ ├── sandbox-logback.xml
│ ├── sandbox.properties
│ └── version
├── example
│ └── sandbox-debug-module.jar
├── install-local.sh
├── lib
│ ├── sandbox-agent.jar
│ ├── sandbox-core.jar
│ └── sandbox-spy.jar
├── module
│ ├── chaosblade-java-agent-0.4.0.jar
│ └── sandbox-mgr-module.jar
└── provider
└── sandbox-mgr-provider.jar
======
其中 blade 是可执行文件,即 chaosblade 工具的 cli,混沌实验执行的工具。执行 ./blade help 可以查看帮助
嫌麻烦可以设置全局命令: sudo ln -s <install_path>/chaosblade-0.4.0/blade /usr/bin/blade
使用方法
1.CLI命令支持,直接执行balde命令即可
2.http服务接口支持,前提开启blade server模式,blade 程序会对外暴露 web 服务,上层可通过 http 请求调用,请求格式是 chaosblade?cmd=具体命令,例如执行 CPU 满载,则请求是 chaosblade?cmd=create%20cpu%20fullload
启动 server 模式,服务端口是 8080
blade server start --port 8080
success, listening on 8080
停止 blade server
blade server stop
{"code":200,"success":true,"result":"pid is 12619"}
具体使用场景,参见使用手册,写的非常详细
https://chaosblade-io.gitbook.io/chaosblade-help-zh-cn/
避坑指南
基于公司内部的Paas基础服务上进行鲁棒性测试,需要 k8s组件包ChaosBlade Operator
安装包下载地址:https://github.com/chaosblade-io/chaosblade-operator/releases
注意我们的Paas服务helm版本v2版本,所以下载v2版本(不是后缀带v3的包)
安装命令
helm install --namespace kube-system --name chaosblade-operator chaosblade-operator-0.4.0.tgz
删除pod操作
#通过blade命令
blade create k8s pod-pod delete --names [pod名] --namespace [域名] --kubeconfig [config配置文件]#一般默认在目录~/.kube/config
#通过http接口操作
【GET】http://ip:port/chaosblade?cmd=create%20k8s%20pod-pod%20delete%20--names%20[pod名]%20--namespace%20[域名]%20--kubeconfig%20[config配置文件]
#注意接口调用的话需要把shell命令里面的空格全部转义成%20
#接口调用cmd后面参数不要加blade,直接复用blade后面的参数【新人经常遇到】
ChaosBlade相关推荐
- 干货 | 阿里巴巴混沌测试工具ChaosBlade两万字解读
点击上方"方志朋",选择"设为星标" 做积极的人,而不是积极废人 一.前言 ChaosBlade 是一款遵循混沌工程实验原理,建立在阿里巴巴近十年故障测试和演练 ...
- 阿里开源混沌工程工具 ChaosBlade
开发四年只会写业务代码,分布式高并发都不会还做程序员? >>> 近日,阿里开源了混沌工程工具 ChaosBlade.该项目是遵循混沌工程(Chaos Engineering)原理 ...
- 借助混沌工程工具 ChaosBlade 构建高可用的分布式系统
为什么80%的码农都做不了架构师?>>> 在分布式架构环境下,服务间的依赖日益复杂,可能没有人能说清单个故障对整个系统的影响,构建一个高可用的分布式系统面临着很大挑战.在可控范 ...
- 官宣:恭喜 ChaosBlade 项目进入 CNCF Sandbox
来源 | 阿里巴巴云原生公众号 阿里巴巴开源的混沌工程项目 ChaosBlade 通过 CNCF TOC 投票,顺利推进 CNCF Sandbox.CNCF 全称 Cloud Native Compu ...
- ChaosBlade 在工商银行混沌工程体系中的应用实践
作者 | 吴冕冠 来源|阿里巴巴云原生公众号 互联网金融时代下,金融产品和服务模式不断创新,交易量大幅攀升.面对互联网金融的全新发展态势,传统的单体 IT 架构暴露出很多不适应的地方,为此业界广泛应用 ...
- ChaosBlade x SkyWalking 微服务高可用实践
来源|阿里巴巴云原生公众号 前言 在分布式系统架构下,服务组件繁多且服务间的依赖错综复杂,很难评估单个故障对整个系统的影响,而且请求链路长,如果监控告警.日志记录等基础服务不完善会造成故障响应.故障定 ...
- 面向云原生的混沌工程工具-ChaosBlade
作者 | 肖长军(穹谷)阿里云智能事业群技术专家 导读:随着云原生系统的演进,如何保障系统的稳定性受到很大的挑战,混沌工程通过反脆弱思想,对系统注入故障,提前发现系统问题,提升系统的容错能力.Chao ...
- linux 故障注入_基于chaosblade的故障注入平台小试
点击上方关注我们! 当今社会互联网应用越来越广泛,用户量日益剧增.在人们对互联网服务的依赖性增大的同时,也对服务的可用性和体验感有了更高的要求.那么如何保障服务在运营过程中能一直给用户提供稳定的.不间 ...
- 浩鲸科技基于ChaosBlade的混沌工程实践
简介:浩鲸科技在海量互联网服务以及当前爆炸式增长的流量场景实践过程中,沉淀出了包括,链路压测,流控管理,动态扩缩容,故障演练等高可用核心技术,并通过云上服务化.平台化和工具化的形式,帮助内部产品研发部 ...
- ChaosBlade:从混沌工程实验工具到混沌工程平台
简介:ChaosBlade 是阿里巴巴 2019 年开源的混沌工程项目,已加入到 CNCF Sandbox 中.起初包含面向多环境.多语言的混沌工程实验工具 chaosblade,到现在发展到面向多集 ...
最新文章
- chrome 技巧篇-如何查看web元素绑定的监听事件
- Java中设计模式之工厂模式-4
- 【项目管理】认识项目相关方(干系人)管理
- Pandas 基础(8) - 用 concat 组合 dataframe
- Mysql 连接池session_Hibernate第十一篇【配置C3P0数据库连接池、线程Session】
- JS表情替换代码,这里使用字符代替图片路径
- 谷歌浏览器安装过程-0223
- JAX-WS发布WebService
- 草根站长的你是感觉自豪还是苦逼
- Cadence 问题记录
- 都2022年了,这11个Java开发工具你还不知道?
- 关于“堆栈”的含义及理解
- Web APIs --JavaScript学习笔记(总)(包括DOM、BOM)
- linux软件管理及软件仓库
- 记录TPTP监控tomcat
- 2020-11-23抖音网络营销
- java中比例尺_android 比例尺 源码(二) MyMapView.java
- Android AOSP 下载和编译
- 离开,是为了新的开始
- EBS 销售RMA接收报错VALIDATE_RMA_LOT_QUANTITIES_ERROR
热门文章
- 华为/H3C常用巡检命令
- mysql中floa类型数据和mysql命令
- HTML基础 + 实例解析
- Android Retrofit详解(retrofit:2.3.0)
- 笨小孩投资理财-价值投资该看的书籍
- Scala编程——下界介绍与实例分析
- 微信jsapi支付获取code_微信JSAPI公众号支付在部分机型上出现appid参数错误的解决办法 - YangJunwei...
- 2022年全球原味奶酪片行业分析报告
- UOJ224/洛谷P1737 【NOI2016】旷野大计算 造计算机
- 单片机右移c语言程序,51单片机+点阵8*8上、下、左、右移显示C程序(原创)