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 /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后面的参数【新人经常遇到】

你可能感兴趣的:(Python)