混沌工程 - Chaosblade-box
作者:互联网
项目地址
项目介绍
ChaosBlade 是阿里巴巴 2019 年开源的混沌工程项目,包含混沌工程实验工具 chaosblade 和混沌工程平台 chaosblade-box,旨在通过混沌工程帮助企业解决云原生过程中高可用问题。实验工具 chaosblade 支持 3 大系统平台,4 种编程语言应用,共涉及 200 多个实验场景,3000 多个实验参数,可以精细化地控制实验范围。混沌工程平台 chaosblade-box 支持实验工具托管,除已托管 chaosblade 外,还支持 Litmuschaos 实验工具。已登记使用企业 40 多家,其中已在工商银行、中国移动、小米、京东等企业中落地使用。
核心能力
- 丰富的实验场景:包含基础资源(CPU、内存、网络、磁盘、进程、内核、文件等)、多语言应用服务(Java、C++、NodeJS、Golang 等)、Kubernetes 平台(覆盖 Container、Pod、Node 资源场景,包含上述实验场景)。
- 多样化的执行方式:除了使用平台白屏化操作,还可以通过工具自带的 blade 工具或者 kubectl、编码的方式执行。
- 便捷的场景扩展能力:所有的实验场景遵循混沌实验模型实现,并且不同层次场景对应不同的执行器,实现简单,易于扩展。
- 实验工具自动化部署:无需手动部署实验工具,实现实验工具在主机或集群上自动化部署。
- 支持开源实验工具托管:平台可托管业界主流的实验工具,如自身的 chaosblade 和外部的 litmuschaos 等。
- 统一混沌实验用户界面:用户无需关心不同工具的使用方式,在统一用户界面进行混沌实验。
- 多维度实验方式:支持从主机到 Kubernetes 资源,再到应用维度进行实验编排。
- 集成云原生生态:采用 Helm 部署管理,集成 Prometheus 监控,支持云原生实验工具托管等。
架构设计
项目部署
编译chaosblade-box
mvn clean package -Dmaven.test.skip=true
运行 chaosblade-box
nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.4.1.jar > chaosblade-box.log 2>&1 &
查看首页
Agent 部署
下载 centos 镜像(如果有 linux 环境,可以跳过此步骤)
docker pull centos
docker run -it --name centos -d centos:latest
docker exec -it `docker ps | awk '{print $1}' | grep -v CONTAINER` sh
yum install wget
部署 Agent(在目标 linux 中执行如下命令)
wget https://chaosblade.oss-cn-hangzhou.aliyuncs.com/platform/chaosagentctl.sh
chmod +x chaosagentctl.sh
./chaosagentctl.sh install -r https://chaosblade.oss-cn-hangzhou.aliyuncs.com/platform/chaosagent -t 127.0.0.1:8080 (# IP地址请换成真实地址)
部署 chaosblade
- 下载 chaosblade 客户端程序
- 解压缩至 /opt/chaosblade 目录下
查看客户端列表
定义故障场景
标签:box,场景,Chaosblade,混沌,实验,工具,chaosblade 来源: https://www.cnblogs.com/just4life/p/15251075.html