Chaos Mesh 是針對(duì)K8S的云原生混沌工程開(kāi)源平臺(tái)。 可以用它方便地模擬開(kāi)發(fā)、測(cè)試、生產(chǎn)環(huán)境中可能出現(xiàn)的各種異常情況,發(fā)現(xiàn)系統(tǒng)中潛在的問(wèn)題。

創(chuàng)建者
研發(fā)支持混合事務(wù)與分析處理的開(kāi)源數(shù)據(jù)庫(kù)TiDB的PingCap公司
一句話(huà)介紹
ChaosMesh是針對(duì)K8S的云原生開(kāi)源混沌工程平臺(tái)。
關(guān)鍵特性
ChaosMesh的關(guān)鍵特性包括可注入的故障、實(shí)驗(yàn)工作流、可視化操作和安全控制。
可注入的故障
可注入的故障,包括基本資源故障,平臺(tái)故障和應(yīng)用故障這3類(lèi)。
基本資源故障,包括模擬Pod失效,網(wǎng)絡(luò)失效,DNS失效,HTTP通信延遲,CPU或內(nèi)存使用高負(fù)荷,文件讀寫(xiě)失效,時(shí)間跳躍異常,應(yīng)用內(nèi)存分配異常等。
平臺(tái)故障,包括模擬AWS或GCP節(jié)點(diǎn)重啟。
應(yīng)用故障,包括Java應(yīng)用方法調(diào)用延時(shí)。
實(shí)驗(yàn)工作流
實(shí)驗(yàn)工作流,包括編排順序或并行執(zhí)行的故障注入實(shí)驗(yàn),查看實(shí)驗(yàn)狀態(tài)和結(jié)果,暫停實(shí)驗(yàn),支持用YAML或Web UI定義和管理實(shí)驗(yàn)。
可視化操作
可視化操作,包括可以在Web UI上點(diǎn)擊鼠標(biāo),定義實(shí)驗(yàn)的范圍、故障注入類(lèi)型和調(diào)度規(guī)則,最后能展示實(shí)驗(yàn)結(jié)果。
安全控制
安全控制,包括使用K8S原生提供的基于角色的訪(fǎng)問(wèn)控制功能,來(lái)管理故障注入的使用權(quán)限。還可以通過(guò)設(shè)置命名空間注解,來(lái)指定允許進(jìn)行混沌實(shí)驗(yàn)的命名空間,進(jìn)一步保障對(duì)混沌實(shí)驗(yàn)的控制。
適用平臺(tái)
K8S
適用場(chǎng)景
Chaos Mesh 為 Kubernetes 上的混沌工程提供了很大的靈活性,鼓勵(lì)通過(guò) CI/CD 進(jìn)行自動(dòng)化實(shí)驗(yàn),并被 Azure Chaos Studio 用于注入 Kubernetes 故障。
優(yōu)勢(shì)
能提供K8S平臺(tái)上的基礎(chǔ)資源、平臺(tái)和應(yīng)用故障模擬。
具有故障場(chǎng)景編排能力。
為了降低混沌工程項(xiàng)目的門(mén)檻,Chaos Mesh提供了可視化操作。 可以在 Web UI 上輕松設(shè)計(jì) Chaos 場(chǎng)景并監(jiān)控 Chaos 實(shí)驗(yàn)的狀態(tài)。
使用K8S原生提供的基于角色的訪(fǎng)問(wèn)控制功能,來(lái)管理故障注入的使用權(quán)限。
劣勢(shì)
只能在K8S集群上使用。否則,就只能使用針對(duì)節(jié)點(diǎn)進(jìn)行故障注入實(shí)驗(yàn)的附帶工具chaosd。
臨時(shí)執(zhí)行的實(shí)驗(yàn)會(huì)無(wú)限期地運(yùn)行。設(shè)置實(shí)驗(yàn)持續(xù)時(shí)間的方法,只能進(jìn)行實(shí)驗(yàn)編排,或手動(dòng)終止實(shí)驗(yàn)。
開(kāi)源許可證
Apache-2.0 license
GitHub點(diǎn)贊數(shù)
5.9k
最近發(fā)布日期與版本
2023.06: v2.6.1
所屬項(xiàng)目
CNCF云原生計(jì)算基金會(huì)孵化項(xiàng)目
你還知道有什么好用的開(kāi)源故障注入工具?你還希望我聊有關(guān)混沌工程的其他什么新話(huà)題?歡迎在評(píng)論區(qū)留言。我會(huì)仔細(xì)閱讀每一條留言。期待聽(tīng)到你的聲音。
如果覺(jué)得本文對(duì)你有幫助,歡迎點(diǎn)贊,并轉(zhuǎn)發(fā)給其他志同道合的小伙伴。
企業(yè)生意好,系統(tǒng)運(yùn)行穩(wěn)。你所閱讀的文章,來(lái)自“吾真本說(shuō)混沌工程”專(zhuān)欄。