1.架構:
2.執行方式:
演練執行支援以下幾種方式:
Cli 命令列模式:直接透過 cli 命令方式執行演練,可直接執行主機環境和 Kubernetes 環境上的演練。
Yaml 檔案模式:該方式只對 Kubernetes 叢集進行演練時使用,使用 yaml 配置檔案建立演練 透過定義 chaosblade crd 資源的方式。
Server 模式:即利用./blade server start 將 ChaosBlade 工具作為一個 server 啟動,然後再透過 http 遠端呼叫的方式下發命令。
平臺模式:直接在 ChaosBlade-Box 視覺化平臺上,直接透過互動介面建立演練。
3.介面介紹
- 概覽:ChaosBlade-Box 混沌工程平臺,支援中英文切換,提供了全域性的名稱空間切換,幫助企業落地時的一平臺多用,如測試環境、灰度環境、線上環境等。
- 我的空間:對演練進行管理(建立、編輯、刪除)與統計,並可進行演練的編排與故障注入。
- 演練場景:列出支援的所有演練場景(kubernetes、主機、JAVA)
- 演練經驗:支援將歷史演練沉澱為經驗庫。
- 應用管理:管理探針(agent)註冊上報的所有應用,包括主機和k8s。包含應用概覽,機器列表,演練記錄,應用配置。
- 探針管理:對探針(agent)進行安裝,解除安裝和管理,支援主機和k8s環境。
- 資料管理:包括經驗庫管理等。
演練編排:平臺支援兩種流程編排型別,分別是:“順序執行”和“階段執行”,其中“順序執行”就是多種故障依次生效,“階段執行”就是多種故障同時生效後再同時恢復。
在演練結果頁面中能檢視到演練的整體進度,並能進行單個機器的結果、錯誤資訊、執行日誌和引數配置等查詢。為保障演練一定能得到恢復,提供了自動停止和手動觸發兩種方式來終止演練的保護策略,下發超時引數,即便平臺側和 Agent 失聯,無法下發恢復命令,也能超時恢復,避免系統問題導致演練之外的意外故障。
4.安裝:
(1)確保已經安裝了jdk1.8
(2)確保安裝了mysql5.6
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
(3)啟動服務
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 &
(4)驗證:
可直接檢視程序是否存在,並透過 http://127.0.0.1:7001 去訪問平臺
5.探針安裝
(1)自動安裝
利用自動安裝探針,需要在安裝 Box 平臺時已有自動安裝探針環境準備,否則無法使用
- 進入探針管理頁面後,點選右上角的自動安裝探針按鈕
- 根據是否已有應用名,選擇已有應用和新增應用,並填寫目標主機的IP 地址及 SSH 登陸的使用者和密碼
- 最後點選安裝即可
wget https://chaosblade.oss-cn-hangzhou.aliyuncs.com/platform/release/1.0.2/chaosagent.tar.gz -O chaos.tar.gz && tar -zxvf chaos.tar.gz -C /opt/ && sudo sh /opt/chaos/chaosctl.sh install -k key -p [應用名] -g [應用分組] -P [agent埠號] -t BOX-HOST
|
(2)手動安裝
- 進入探針管理頁面後,點選右上角的手動安裝探針按鈕 或 頁面中的接入探針,進入探針安裝指引頁面
- 點選主機,進入主機手動安裝的命令提示頁面
- 複製命令提示頁面的命令,並將必要引數進行替換後,在目標主機上執行即可
----解壓縮安裝,指定key(在系統中可以查到);應用名;應用組;agent埠;主機IP及埠 tar -zxvf chaosagent.tar.gz -C /app/ && sudo sh /app/chaos/chaosctl.sh install -k key -p chaos-test -g test-group -P 19527 -t BOX-HOST:7001 |