混沌工程 - Chaosblade-box


項目地址

chaosblade-box

項目介紹

ChaosBlade 是阿里巴巴 2019 年開源的混沌工程項目,包含混沌工程實驗工具 chaosblade 和混沌工程平台 chaosblade-box,旨在通過混沌工程幫助企業解決雲原生過程中高可用問題。實驗工具 chaosblade 支持 3 大系統平台,4 種編程語言應用,共涉及 200 多個實驗場景,3000 多個實驗參數,可以精細化地控制實驗范圍。混沌工程平台 chaosblade-box 支持實驗工具托管,除已托管 chaosblade 外,還支持 Litmuschaos 實驗工具。已登記使用企業 40 多家,其中已在工商銀行、中國移動、小米、京東等企業中落地使用。

核心能力

  1. 豐富的實驗場景:包含基礎資源(CPU、內存、網絡、磁盤、進程、內核、文件等)、多語言應用服務(Java、C++、NodeJS、Golang 等)、Kubernetes 平台(覆蓋 Container、Pod、Node 資源場景,包含上述實驗場景)。
  2. 多樣化的執行方式:除了使用平台白屏化操作,還可以通過工具自帶的 blade 工具或者 kubectl、編碼的方式執行。
  3. 便捷的場景擴展能力:所有的實驗場景遵循混沌實驗模型實現,並且不同層次場景對應不同的執行器,實現簡單,易於擴展。
  4. 實驗工具自動化部署:無需手動部署實驗工具,實現實驗工具在主機或集群上自動化部署。
  5. 支持開源實驗工具托管:平台可托管業界主流的實驗工具,如自身的 chaosblade 和外部的 litmuschaos 等。
  6. 統一混沌實驗用戶界面:用戶無需關心不同工具的使用方式,在統一用戶界面進行混沌實驗。
  7. 多維度實驗方式:支持從主機到 Kubernetes 資源,再到應用維度進行實驗編排。
  8. 集成雲原生生態:采用 Helm 部署管理,集成 Prometheus 監控,支持雲原生實驗工具托管等。

架構設計

項目部署

編譯chaosblade-box

mvn clean package -Dmaven.test.skip=true

運行 chaosblade-box

nohup java -Duser.timezone=Asia/Shanghai -jar chaosblade-box-web-0.4.1.jar > chaosblade-box.log 2>&1 &

查看首頁

Agent 部署

下載 centos 鏡像(如果有 linux 環境,可以跳過此步驟)

docker pull centos
docker run -it --name centos -d centos:latest
docker exec -it `docker ps | awk '{print $1}' | grep -v CONTAINER` sh
yum install wget

部署 Agent(在目標 linux 中執行如下命令)

wget https://chaosblade.oss-cn-hangzhou.aliyuncs.com/platform/chaosagentctl.sh 
chmod +x chaosagentctl.sh 
./chaosagentctl.sh install -r https://chaosblade.oss-cn-hangzhou.aliyuncs.com/platform/chaosagent -t 127.0.0.1:8080        (# IP地址請換成真實地址)

部署 chaosblade

  1. 下載 chaosblade 客戶端程序
  2. 解壓縮至 /opt/chaosblade 目錄下

查看客戶端列表

定義故障場景



免責聲明!

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



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