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指令來查看有哪些功能


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM