zoukankan      html  css  js  c++  java
  • chaosblade在测试环境的应用

    chaosblade的使用

     

    1、下载包:

     
    • liunx版本:

      1. https://github.com/chaosblade-io/chaosblade/releases/download/v0.0.3/chaosblade-0.0.3.linux-amd64.tar.gz
    • 获取最新版本的地址:

      1. https://github.com/chaosblade-io/chaosblade/releases

    2、安装

     

    上传到对应需要进行混沌实验的机器上or容器里面

    拷贝到容器里的命令

    kubectl cp chaosblade-0.0.3.linux-amd64.tar qa1-f5-web-vendor-cd97d5956-g9q5h:/home

    解压缩

    tar -xf chaosblade-0.0.3.linux-amd64.tar

    进入目录下可以看到

     
     

    3、故障演练

     
    • 禁用网络端口

      1. ./blade create network drop --local-port 端口号 //禁用本地端口
      2. ./blade create network drop --remote-port 端口号 //禁用远程调用端口

    ps:在容器环境下如需要模拟network的故障,需要安装iptables

    yum install iptables -y

     

    返回200则故障演练成功,并会生成该故障的uid

    • 模拟机器的网络延时

      1. ./blade create network delay --interface eth0 --time 3000 //网卡名称可以通过ifconfig查询

    ps:在容器环境下需要安装tc才能使用该命令,安装命令: yum -y install iproute

     
    • 模拟cpu满负载

      1. ./blade create cpu fullload
    • 模拟应用连接指定数据库网络延时

      需要通过jvm挂载,通过mysql dirver驱动

      下面模拟APP1应用连接到base库,以及模拟APP1的线程池打满的情况

      1. export JAVA_HOME="/usr/java/jdk1.8.0_151/bin/java" //设定java的执行路径的全局变量,这是虚拟机上的java路径,容器的路径/usr/bin/java
      2. ./blade prepare jvm --process APP1-service //挂载jvm
      3. ./blade create mysql delay --database DB_APP1 --time 5000 //演练挂载的APP1服务器连接到DB_APP1库的延时5000ms
      4. ./blade create dubbo threadpoolfull --process APP1-service --provider//演练APP1应用的线程池被打满的情况
    • 模拟磁盘io高读写

      1. ./blade create disk burn --read //演练当前机器高读
      2. ./blade create disk burn --write //演练当前机器高写
      3. vmstat 2 5 //查看磁盘读写io状态
     
    • 恢复故障

      大家在进行故障演练的时候测试完成一定要记得恢复故障

      1. ./blade d uid //故障成功时生成的uid
      2. ./blade status --type create //如果忘记uid可以通过该方式查看
     
    • 其他

      以上指列出来了功能环境的常用功能,更多功能可以通过每一层级的-h指令来查看有哪些功能

  • 相关阅读:
    Linux下安装Flume
    [译]MIT6.824_1.1分布式系统介绍——驱动力与挑战
    MySQL-Canal-Kafka数据复制详解
    Linux下搭建Kafka集群
    我在创业公司的云原生之旅
    使用go向es进行数据操作脚本
    kubectl exec 向pod的文件中增加内容
    kubernetes资源导出小脚本
    面试题(四) -- 第一次当面试官
    gitlab备份检查小脚本
  • 原文地址:https://www.cnblogs.com/sea520/p/11511230.html
Copyright © 2011-2022 走看看