Chaosblade簡介及安裝部署

Mike_Jia發表於2024-10-09

1.架構:

2.執行方式:

演練執行支援以下幾種方式

Cli 命令列模式:直接透過 cli 命令方式執行演練,可直接執行主機環境和 Kubernetes 環境上的演練

Yaml 檔案模式:該方式只對 Kubernetes 叢集進行演練時使用,使用 yaml 配置檔案建立演練 透過定義 chaosblade crd 資源的方式

Server 模式:即利用./blade server start ChaosBlade 工具作為一個 server 啟動,然後再透過 http 遠端呼叫的方式下發命令

平臺模式:直接在 ChaosBlade-Box 視覺化平臺上,直接透過互動介面建立演練

3.介面介紹

  1. 概覽:ChaosBlade-Box 混沌工程平臺,支援中英文切換,提供了全域性的名稱空間切換,幫助企業落地時的一平臺多用,如測試環境、灰度環境、線上環境等。
  2. 我的空間:對演練進行管理(建立、編輯、刪除)與統計,並可進行演練的編排與故障注入。
  3. 演練場景:列出支援的所有演練場景(kubernetes、主機、JAVA
  4. 演練經驗:支援將歷史演練沉澱為經驗庫。
  5. 應用管理:管理探針(agent)註冊上報的所有應用,包括主機和k8s。包含應用概覽,機器列表,演練記錄,應用配置。
  6. 探針管理:對探針(agent)進行安裝,解除安裝和管理,支援主機和k8s環境。
  7. 資料管理:包括經驗庫管理等。

演練編排:平臺支援兩種流程編排型別,分別是:“順序執行”和“階段執行”,其中“順序執行”就是多種故障依次生效,“階段執行”就是多種故障同時生效後再同時恢復。

在演練結果頁面中能檢視到演練的整體進度,並能進行單個機器的結果、錯誤資訊、執行日誌和引數配置等查詢。為保障演練一定能得到恢復,提供了自動停止和手動觸發兩種方式來終止演練的保護策略,下發超時引數,即便平臺側和 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 平臺時已有自動安裝探針環境準備,否則無法使用

  1. 進入探針管理頁面後,點選右上角的自動安裝探針按鈕
  2. 根據是否已有應用名,選擇已有應用新增應用,並填寫目標主機的IP 地址 SSH 登陸的使用者密碼
  3. 最後點選安裝即可

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)手動安裝

  1. 進入探針管理頁面後,點選右上角的手動安裝探針按鈕 頁面中的接入探針,進入探針安裝指引頁面
  2. 點選主機,進入主機手動安裝的命令提示頁面
  3. 複製命令提示頁面的命令,並將必要引數進行替換後,在目標主機上執行即可

----解壓縮安裝,指定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

相關文章