ChaosBlade混沌工具学习小记

A. ChaosBlade介绍

1. ChaosBlade概述

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

2. ChaosBlade功能

  • 混沌实验管理工具,包含创建实验、销毁实验、查询实验、实验环境准备、实验环境撤销等命令,是混沌实验的执行工具,执行方式包含 CLI 和 HTTP 两种。提供完善的命令、实验场景、场景参数说明,操作简洁清晰,下方将简单陈列几个场景:
    a. 基础资源:比如 CPU、内存、网络、磁盘、进程等实验场景;
    b. Java 应用:比如数据库、缓存、消息、JVM 本身、微服务等,还可以指定任意类方法注入各种复杂的实验场景;
    c. Docker 容器:比如杀容器、容器内 CPU、内存、网络、磁盘、进程等实验场景;
    d. 云原生平台:比如 Kubernetes 平台节点上 CPU、内存、网络、磁盘、进程实验场景,Pod 网络和 Pod 本身实验场景如杀 Pod,容器的实验场景如上述的 Docker 容器实验场景。

B. ChaosBlade box平台实战笔记

1. 前期准备工作

2. 相关工具安装

  • mysql容器部署
    a. docker pull mysql:5.6完成数据库安装工作;
    b. docker run -d -it -p 3306:3306 \ -e MYSQL_DATABASE=chaosblade \ -e MYSQL_ROOT_PASSWORD=[DATASOURCE_PASSWORD] \ --name mysql-5.6 mysql:5.6 \ --character-set-server=utf8mb4 \ --collation-server=utf8mb4_unicode_ci \ --default-time_zone='+8:00' \ --lower_case_table_names=1使用容器启动mysql,root账户的密码需自行更改(命令供参考github readme文件);
    c. 检查mysql

    • docker ps | grep mysql获取container number
    • docker exec -it container_number bash进入容器
    • mysql -uroot -p使用设置的密码登录其中
    • show databases确认存在chaosblade数据库,use chaosblade进入
  • 运行chaosblade box
    a. 进入jar包所在地址,运行nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-1.0.0.jar --spring.datasource.url="jdbc:mysql://DATASOURCE_HOST:3306/chaosblade?characterEncoding=utf8&useSSL=false" --spring.datasource.username=DATASOURCE_USERNAME --spring.datasource.password=DATASOURCE_PASSWORD --chaos.server.domain=BOX-HOST> chaosblade-box.log 2>&1 &将DATASOURCE_HOST改成运行box平台的ip,并将数据库的用户和密码输入;
    b. 登录hostip+7001端口的前端页面,注册admin账号,开始使用chaosblade的演练功能。

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容