Litmus 最初是 OpenEBS(K8S下存儲系統(tǒng)) 的測試工具,后來發(fā)展成為知名的 Kubernetes 原生混沌工程開源平臺。
創(chuàng)建者
MayaData
一句話介紹
LitmusChaos 是一個(gè)在故障創(chuàng)建與編排方面更勝一籌的K8S混沌工程開源平臺项阴,如提供故障注入實(shí)驗(yàn)庫 ChaosHub闷叉,使團(tuán)隊(duì)能夠以受控方式钝侠,引入故障注入實(shí)驗(yàn)來識別基礎(chǔ)設(shè)施中的弱點(diǎn)和潛在停機(jī)隱患 。
Litmus 2.0關(guān)鍵特性
故障注入實(shí)驗(yàn)場景創(chuàng)建與編排
可用以下方式創(chuàng)建實(shí)驗(yàn):實(shí)驗(yàn)?zāi)0逭捉猓褂肅haosHub的實(shí)驗(yàn)從頭自定義,預(yù)先創(chuàng)建的 YAML實(shí)驗(yàn)跑揉。支持故障注入實(shí)驗(yàn)調(diào)度(并行和順序執(zhí)行步驟)锅睛。可安排單次或 Cron定時(shí)故障注入場景历谍∫虑耍可以用例優(yōu)先級標(biāo)注故障注入實(shí)驗(yàn)。
ChaosHub故障注入實(shí)驗(yàn)市場
Litmus擁有ChaosHub這個(gè)開源故障注入實(shí)驗(yàn)市場扮饶,托管 Litmus 所提供的各種故障注入實(shí)驗(yàn)具练。 這些實(shí)驗(yàn)是聲明性的,并且可以根據(jù)需要進(jìn)行調(diào)整甜无。 使用hub接口來調(diào)整和部署實(shí)驗(yàn)扛点,并邁出實(shí)驗(yàn)的第一步哥遮。
7類故障注入實(shí)驗(yàn)類型
ChaosHub中的49個(gè)故障注入實(shí)驗(yàn),可以分為7類:通用陵究、亞馬遜云kube-aws眠饮、亞馬遜云系統(tǒng)管理服務(wù)SSM、谷歌云gcp铜邮、微軟云azure仪召、VMware和SpringBoot。
通用實(shí)驗(yàn)松蒜,包括pod-delete扔茅、pod-dns-error、container-kill秸苗、pod-cpu-hog召娜、pod-network-corruption、pod-memory-hog惊楼、pod-network-latency玖瘸、pod-network-loss、disk-fill檀咙、pod-io-stress雅倒、node-cpu-hog、pod-network-duplication弧可、node-memory-hog屯断、kubelet-service-kill、pod-memory-hog-exec侣诺、node-drain殖演、pod-cpu-hog-exec、node-io-stress年鸳、node-restart趴久、pod-autoscaler、pod-dns-spoof搔确、node-taint彼棍、pod-http-status-code、pod-http-latency膳算、pod-network-partion座硕、docker-service-kill、pod-http-reset-peer涕蜂、pod-http-modify-header华匾、pod-http-modify-body。
亞馬遜云kube-aws實(shí)驗(yàn)机隙,包括ec2-terminate-by-tag蜘拉、ec2-terminate-by-id萨西、ebs-loss-by-tag、ebs-loss-by-id旭旭、aws-az-chaos谎脯。
亞馬遜云系統(tǒng)管理服務(wù)SSM實(shí)驗(yàn),包括aws-ssm-chaos-by-id持寄、aws-ssm-chaos-by-tag源梭、
谷歌云gcp實(shí)驗(yàn),包括gcp-vm-instance-stop稍味、gcp-vm-disk-loss废麻、gcp-vm-instance-stop-by-label、gcp-vm-disk-loss-by-label仲闽。
微軟云azure實(shí)驗(yàn),包括azure-instance-stop僵朗、azure-disk-loss赖欣。
VMware實(shí)驗(yàn),vm-poweroff验庙。
SpringBoot實(shí)驗(yàn)顶吮,包括spring-boot-latency、spring-boot-exceptions粪薛、spring-boot-cpu-stress悴了、spring-boot-memory-stress、spring-boot-app-kill违寿、spring-boot-faults湃交。
Litmus探針
可以在 ChaosEngine 中為任何故障注入實(shí)驗(yàn)定義可插入的Litmus 探針,使得實(shí)驗(yàn)容器可以根據(jù)定義的模式藤巢,執(zhí)行相關(guān)檢查搞莺,以確定實(shí)驗(yàn)結(jié)論。
混沌工程可觀測性
可連接數(shù)據(jù)源(來自任何 Chaos Delegate)并監(jiān)控故障注入場景掂咒。能可視化故障注入場景運(yùn)行的統(tǒng)計(jì)數(shù)據(jù)和并做數(shù)據(jù)聚合才沧。可比較兩個(gè)或多個(gè)故障注入場景的觀測數(shù)據(jù)绍刮∥略玻可上傳社區(qū)中可用的共享或可下載的儀表盤『⒏铮可編輯查詢岁歉、調(diào)整儀表板以從頭開始創(chuàng)建自定義的儀表盤∠ヲ冢可使用 Prometheus 數(shù)據(jù)源中的交錯(cuò)事件和指標(biāo)實(shí)時(shí)監(jiān)控故障注入實(shí)驗(yàn)的影響刨裆。
K8S多租戶
Kubernetes 命名空間可用作 Kubernetes 上個(gè)人開發(fā)人員的完全托管環(huán)境澈圈。 Litmus 的所有功能都可以在 Kubernetes 命名空間中使用,以便實(shí)現(xiàn)故障注入實(shí)驗(yàn)在租戶之間的隔離帆啃。
實(shí)驗(yàn)權(quán)限控制
可創(chuàng)建基于角色訪問控制的用戶瞬女。可創(chuàng)建擁有多個(gè)用戶的團(tuán)隊(duì)努潘》掏担可驗(yàn)證用戶身份。
故障注入場景管理
支持使用基礎(chǔ)設(shè)施即代碼的 GitOps 實(shí)現(xiàn)故障自動(dòng)注入疯坤。允許從自定義鏡像服務(wù)器(公共和私有)添加鏡像报慕。可測量并分析每個(gè)故障注入場景的韌性分?jǐn)?shù)压怠。
適用平臺
K8S
適用場景
對于開發(fā)人員:在應(yīng)用程序開發(fā)過程中運(yùn)行故障注入實(shí)驗(yàn)眠冈,作為單元測試或集成測試的擴(kuò)展。
對于 CI/CD 流水線構(gòu)建者:將故障注入實(shí)驗(yàn)作為流水線的階段運(yùn)行菌瘫,以檢驗(yàn)應(yīng)用程序能否應(yīng)對流水線中的故障場景蜗顽。
對于 SRE:規(guī)劃和安排應(yīng)用程序和相關(guān)基礎(chǔ)設(shè)施的故障注入實(shí)驗(yàn),以識別部署系統(tǒng)中的弱點(diǎn)并提高韌性雨让。
優(yōu)勢
擁有較強(qiáng)故障創(chuàng)建與編排能力雇盖,如擁有開源故障注入實(shí)驗(yàn)市場ChaosHub。
可通過Web UI 查看實(shí)驗(yàn)及其歷史記錄栖忠。
原生集成可觀測性工具崔挖,方便在實(shí)驗(yàn)期間監(jiān)控系統(tǒng)運(yùn)行狀況。
劣勢
Litmus 是一個(gè)功能全面的工具庵寞,但要用好它狸相,需要學(xué)習(xí)很多知識。
ChaosCenter Web 界面可以輕松運(yùn)行實(shí)驗(yàn)捐川,但沒有提供太多指導(dǎo)卷哩。 選用 Litmus 的團(tuán)隊(duì)需要知道要運(yùn)行什么實(shí)驗(yàn),要測試什么以及如何解釋結(jié)果属拾。這對于剛剛接觸混沌工程的團(tuán)隊(duì)來說将谊,是一項(xiàng)挑戰(zhàn)。
開源許可證
Apache-2.0 license
GitHub點(diǎn)贊數(shù)
3.8k
最近發(fā)布日期與版本
2023.07: 3.0.0-beta10
所屬項(xiàng)目
CNCF云原生計(jì)算基金會項(xiàng)目
你還知道有什么好用的開源故障注入工具渐白?你還希望我聊有關(guān)混沌工程的其他什么新話題尊浓?歡迎在評論區(qū)留言。我會仔細(xì)閱讀每一條留言纯衍。期待聽到你的聲音栋齿。
如果覺得本文對你有幫助,歡迎點(diǎn)贊,并轉(zhuǎn)發(fā)給其他志同道合的小伙伴瓦堵。
企業(yè)生意好基协,系統(tǒng)運(yùn)行穩(wěn)。你所閱讀的文章菇用,來自“吾真本說混沌工程”專欄澜驮。