CNCF 技術監督委員會 (TOC) 已通過投票表決,接納將 Chaos Mesh 作為 CNCF 的孵化項目。
Chaos Mesh 最初作為開源分布式數據庫 TiDB 的測試平臺而創建,是一個多功能混沌工程平臺,可在 Kubernetes 環境中編排混沌實驗。通過幫助識別潛在的故障點,有助于確保 Kubernetes 基礎設施能夠承受意外中斷。
自 2020 年 7 月成為 CNCF 沙盒項目以來,Chaos Mesh 已經發布了兩個主版本(v1.0 和 v2.0)以及 30 個小版本,在可觀測性、功能性和安全性方面帶來了顯著改進。一些非常亮眼的功能包括:
Chaos Dashboard,一款強大的可視化輔助工具,可幫助用戶通過 Web UI 管理和監控混沌實驗。原生 Workflow 引擎,用于定義混沌場景來管理混沌實驗組和應用程序狀態檢查。更強大、更全面的混沌模擬,涵蓋 StressChaos、DNSChaos、JVMChaos、AWSChaos、GCPChaos、HTTPChaos 等。基于 Kubernetes RBAC 權限策略的授權機制。
已有超過 50 個組織采用 Chaos Mesh 來測試和提高其分布式系統的彈性,包括字節跳動、DataStax、Percona、Prudential、網易伏羲、RabbitMQ、茄子快傳、小鵬汽車等等。此外,Microsoft Azure Chaos Studio 等云提供商也已經將 Chaos Mesh 集成到其 SaaS 解決方案中,允許用戶將故障注入至 AKS 集群。以上的許多組織也為項目做出了貢獻。
“Chaos Mesh 基于Kubernetes CustomResourceDefinitions (CRD) 構建,提供了一個良好的開端,”網易伏羲高級質量保證工程師張慧表示,“它提供細粒度混沌支持、Chaos Dashboard 統一的用戶界面以及增強的可觀測性和精確的混沌作用域控制。所有這一切都是由一個開放、協作、充滿活力的社區推動的。”
“Chaos Mesh 提供了豐富的故障模擬方法,可幫助基礎設施團隊提前驗證高可用性、網絡流量損失、雙向同步等場景,從而幫助探究解決方案缺陷并降低風險,”小鵬汽車首席工程師譚恒亮表示,“它還有助于我們的團隊降低測試成本。”
“我們打造 Chaos Mesh 的目標很簡單,就是簡化混沌工程,讓復雜的系統能夠擁有應有的彈性,”Chaos Mesh maintainer,PingCAP 混沌工程產品負責人殷成文表示,“社區和生態系統的力量對于實現這一目標至關重要。我們很高興看到 Chaos Mesh 成為孵化項目。CNCF 是云原生生態系統的推動力量,在社區的支持和指導下,將幫助我們進一步發展混沌工程。”
Chaos Mesh 采用 Kubernetes 架構,使用 Kubernetes CRD 定義混沌對象。它還可以與 Argo、Grafana 和 Prometheus 等其他云原生項目緊密集成,使混沌體驗更易于管理、定制和觀察。
主要組件
Chaos Dashboard:Chaos Mesh 的可視化組件。Chaos Dashboard 提供一組用戶友好的 Web 界面,用戶可以通過這些界面操作和觀察混沌實驗。Chaos Controller Manager:Chaos Mesh 的核心邏輯組件。Chaos Controller Manager 主要負責調度和管理混沌實驗。Chaos Daemon:主要執行組件。Chaos Daemon 在 DaemonSet 模式下運行,默認具有特權權限(可以禁用)。Chaosd:將故障注入到非 kubernetes 節點的工具包
重要里程碑
4.5K GitHub Star 關注度1.3K 次代碼提交800 多個已解決的 GitHub Issues來自 60 多家組織的 125 位貢獻者32 個版本發布50 多個用戶
“沒有完美的云部署,故障總是會發生,因此使用混沌工程來預測出現中斷時會發生什么情況可以為組織節省時間和資金,并幫助構建彈性系統,”CNCF 首席技術官 Chris Aniszczyk 表示,“這是云原生生態系統中一個快速發展的部分,我們很高興看到 Chaos Mesh 可以作為一個孵化項目發展壯大。”
Chaos Mesh 建立了完整的路線圖,團隊正在積極增加新特性和功能,同時改善整體混沌體驗。努力提供有效的狀態驗證機制和報告功能,來提高易用性和可觀測性。Workflow 引擎的持續優化將使用戶能夠通過 Chaos Mesh 實現完整的混沌工程循環。不斷豐富支持的故障類型以覆蓋云原生系統中盡可能多的實際故障,可以增強功能和可擴展性。此外,團隊將提供插件機制,讓用戶可以自由擴展自己的故障類型,并將自己的插件和混沌場景發布到 Chaos Mesh。
作為一個由 CNCF 托管的項目,Chaos Mesh 是一個廠商中立的基金會的一部分,并與該基金會的技術利益相一致。同時,Chaos Mesh 也隸屬于更大規模組織 Linux 基金會,從其獲取項目治理、市場營銷和社區推廣等支持。