Chaos Mesh 1.0 正式發(fā)布
繼2020年7月作為沙盒項目進入 CNCF 后,Chaos Mesh[1]?1.0 于近日正式發(fā)布,Chaos Mesh 1.0 是重要里程碑,經(jīng)過開源社區(qū)內(nèi)10個月的努力,Chaos Mesh 在功能、可擴展性和易用性方面已經(jīng)準備就緒。不僅支持更多混沌注入的類型,提高了框架組件的穩(wěn)定性,并且增加了 Chaos Dashboard 組件用來改善 Chaos Mesh 的易用性。
1. 豐富易用的混沌實驗類型
Chaos Mesh 起源于分布式數(shù)據(jù)庫 TiDB 的測試框架,所以它考慮到了分布式系統(tǒng)可能出現(xiàn)的故障。提供更加全面、細粒度的故障類型,能全方位的幫用戶對網(wǎng)絡(luò)、磁盤、文件系統(tǒng)、操作系統(tǒng)等進行故障注入。同時,使用 Chaos Mesh,不需要應(yīng)用做任何修改,做到真正的被測試系統(tǒng)無感知。Chaos Mesh 目前支持的故障注入有:
pod-kill:模擬 Kubernetes Pod 被 kill。 pod-failure:模擬 Kubernetes Pod 持續(xù)不可用,可以用來模擬節(jié)點宕機不可用場景。 container-kill:模擬 Container 被 kill。 network-latency:模擬網(wǎng)絡(luò)延遲。 network-loss:模擬網(wǎng)絡(luò)丟包。 network-duplication:模擬網(wǎng)絡(luò)包重復(fù)。 network-corrupt:模擬網(wǎng)絡(luò)包損壞。 network-partition:模擬網(wǎng)絡(luò)分區(qū)。 cpu-burn:模擬 CPU 壓力。 memory-burn:模擬 Memory 壓力。 clock-skew:模擬時鐘偏移。 io-latency:模擬文件系統(tǒng) I/O 延遲。 io-fault:模擬文件系統(tǒng) I/O 錯誤。 io-attribution-override:模擬文件異常。 kernel-injection: 模擬內(nèi)核故障。
2. 簡單易用的可視化界面
Chaos Dashboard 組件是 Chaos Mesh 用戶編排 Chaos 實驗的一站式Web 界面。此前,Chaos Dashboard 僅適用于測試TiDB,隨著 Chaos Mesh 1.0的推出,所有人都可以使用它,Chaos Dashboard 極大簡化了混沌實驗的復(fù)雜度,用戶可以直接通過可視化界面來管理和監(jiān)控混沌實驗,僅需鼠標點一點就能夠定義混沌實驗的范圍、指定混沌注入類型、定義調(diào)度規(guī)則,以及在界面上獲取到混沌實驗的結(jié)果等。

3. 增強的 Grafana 插件支持
為了進一步提高混沌實驗的可觀測性,Chaos Mesh 1.0 單獨開發(fā)了 Grafana 插件,方便用戶直接將混沌實驗的運行信息展示在自己的監(jiān)控面板上。用戶在 Grafana 上安裝了此插件后,可以直接在應(yīng)用的監(jiān)控面板上開啟混沌實驗信息按鈕,此時混沌實驗的相關(guān)信息會以 Annotations 的方式在當(dāng)前的面板上展示出來,這樣用戶就可以在一個界面上同時觀察到應(yīng)用的運行情況以及當(dāng)前運行的混沌實驗信息。

4. 安全可控的混沌實驗
當(dāng)在進行混沌實驗的時候,我們需要嚴格的控制實驗范圍,只影響需要測試的應(yīng)用程序,避免導(dǎo)致整體應(yīng)用的雪崩。Chaos Mesh 在 1.0 版本中不僅提供了豐富的選擇器來控制實驗范圍,還支持設(shè)置被保護的 Namespaces 用來保護重要應(yīng)用。此外,在 1.0 中 Chaos Mesh 還支持在 Namespace 權(quán)限使用,也就是說用戶可以在單個 Namespace 下安裝 Chaos Mesh 或者是把 Chaos Mesh 的權(quán)限范圍限制在特定某個 Namespace 下,如此一來可以更大程度控制實驗的“爆炸半徑”,提供更加安全的混沌實驗體現(xiàn)。
快速體驗
大家通過 install.sh 安裝腳本或者是使用 Helm 工具在自己的 Kubernetes 環(huán)境下快速的部署 Chaos Mesh,具體安裝步驟可以參考?Chaos Mesh 部署文檔[2]。此外社區(qū)的小伙伴也貢獻了在線?Chaos Mesh 簡單教程[3]。
原文鏈接:https://chaos-mesh.org/blog/chaos-mesh-1.0-chaos-engineering-on-kubernetes-made-easier/
參考資料
Chaos Mesh:?https://chaos-mesh.org/
[2]Chaos Mesh 部署文檔:?https://chaos-mesh.org/docs/installation/installation
[3]Chaos Mesh 簡單教程:?https://chaos-mesh.org/interactiveTutorial
K8S進階訓(xùn)練營,點擊下方圖片了解詳情

