SRE和DevOps值得關(guān)注的十大開源項(xiàng)目
構(gòu)建可擴(kuò)展且高度可靠的軟件系統(tǒng)是每個(gè)SRE的最終目標(biāo)。
在SRE/DevOps領(lǐng)域中,有大量出色的開源項(xiàng)目,每個(gè)項(xiàng)目都有新穎而激動(dòng)人心的解決方案。在本文中,我們將會(huì)介紹一些在監(jiān)控,部署和運(yùn)維領(lǐng)域最受歡迎的開源項(xiàng)目。
1. Cloudprober
特征:
-
能與Prometheus和Grafana等開源監(jiān)控系統(tǒng)集成。Cloudprober也可以導(dǎo)出探測(cè)結(jié)果。 -
目標(biāo)自動(dòng)發(fā)現(xiàn)。為GCE和Kubernetes提供了開箱即用的支持;其他云服務(wù)可以輕松配置。 -
部署簡(jiǎn)單。它可以通過(guò)Docker容器快速部署。 -
占用空間小。Cloudprober鏡像大小很小,僅包含靜態(tài)編譯的二進(jìn)制文件,并且它需要非常少的CPU和RAM就能運(yùn)行大量的探針。 2.Cloud Operations Sandbox(Alpha)
Cloud Operations Sandbox是一個(gè)開源平臺(tái),可以通過(guò)該平臺(tái)了解Google服務(wù)的可靠性工程實(shí)踐,還可以使用Cloud Operations工具套件,并將其應(yīng)用于云服務(wù)。注意:這需要一個(gè)Google云服務(wù)帳戶。 特征:
-
演示服務(wù)—基于現(xiàn)代云原生微服務(wù)架構(gòu)設(shè)計(jì)的應(yīng)用程序。 -
一鍵式部署-通過(guò)腳本將服務(wù)部署到Google Cloud Platform的工作。 -
負(fù)載生成器-在演示服務(wù)上模擬流量的組件 3. Kubernetes的版本檢查器
這是一個(gè)Kubernetes工具,可以幫助你查看集群中運(yùn)行的鏡像的版本。該工具還允許你在Grafana儀表板上,以表格查看鏡像版本。 特征:
-
可以一次設(shè)置多個(gè)鏡像倉(cāng)庫(kù)。 -
使你可以將版本信息視為Prometheus指標(biāo)。 -
支持諸如ACR,DockerHub,ECR之類的鏡像倉(cāng)庫(kù)。
4.Istio
Istio是一個(gè)開源框架,用于監(jiān)控微服務(wù)流量,實(shí)施策略以及以標(biāo)準(zhǔn)化方式匯總遙測(cè)數(shù)據(jù)。Istio的控制平面上為集群管理(例如Kubernetes)提供了一個(gè)抽象層。 特征:
-
支持HTTP,gRPC,WebSocket和TCP通信的負(fù)載均衡。 -
通過(guò)豐富的路由規(guī)則,重試,故障轉(zhuǎn)移和故障注入對(duì)流量行為進(jìn)行細(xì)粒度控制。 -
可插拔的策略層和配置API,支持訪問控制,速率限制和配額。 -
集群的入口和出口,以及集群內(nèi)所有流量指標(biāo),日志和跟蹤信息。 -
基于身份的驗(yàn)證和授權(quán),保障了服務(wù)間通信的安全。 5. Checkov
Checkov是“基礎(chǔ)結(jié)構(gòu)即代碼”的實(shí)踐,它是一個(gè)靜態(tài)代碼檢查工具,能夠掃描Terraform,Cloud Details,Cubanet,Serverless或ARM模型云基礎(chǔ)架構(gòu),并能夠檢測(cè)配置是否有誤。 特征:
-
超過(guò)400條內(nèi)置規(guī)則涵蓋了AWS,Azure和Google Cloud的最佳安全實(shí)踐。 -
能夠監(jiān)控Terraform管理的IaaS,PaaS或SaaS的開發(fā),維護(hù)和更新。 -
能夠在EC2用戶數(shù)據(jù),Lambda上下文和Terraform程序中檢測(cè)AWS憑證。
6.Litmus
Litmus是一個(gè)云原生混沌工程。Litmus提供了一些工具來(lái)協(xié)調(diào)Kubernetes上的混沌情況,以幫助SRE發(fā)現(xiàn)其部署中的漏洞。SRE首先使用Litmus進(jìn)行混沌測(cè)試,然后使用它來(lái)發(fā)現(xiàn)故障和漏洞,提高系統(tǒng)的彈性。
特征:
- 開發(fā)人員可以在應(yīng)用程序開發(fā)期間運(yùn)行混沌測(cè)試,作為單元測(cè)試或集成測(cè)試的擴(kuò)展。
- 對(duì)于CI流水線構(gòu)建者:當(dāng)應(yīng)用程序遇到流水線中的故障時(shí),可以運(yùn)行混沌測(cè)試以查找錯(cuò)誤。
7.Locust
Locust是一個(gè)易于使用,可編寫腳本且靈活的性能測(cè)試工具。你可以使用Python代碼自定義操作,而不是使用笨拙的UI。這使Locust可以擴(kuò)展且并對(duì)開發(fā)人員友好。 特征:
-
Locust具有分布式和可擴(kuò)展性,可輕松支持成百上千的用戶。 -
UI界面,可實(shí)時(shí)顯示進(jìn)度。 -
稍加修改就可以測(cè)試任何系統(tǒng)。 8.Prometheus
Prometheus是Cloud Native Computing Foundation項(xiàng)目,是一個(gè)系統(tǒng)和服務(wù)監(jiān)控系統(tǒng)。它在特定時(shí)間從已配置的目標(biāo)中提取指標(biāo),測(cè)試規(guī)則并顯示結(jié)果。如果違反了指定條件,它將觸發(fā)警告通知。 特征:
-
多維數(shù)據(jù)模型(由度量標(biāo)準(zhǔn)定義的時(shí)間序列)。 -
通過(guò)服務(wù)發(fā)現(xiàn)或靜態(tài)配置發(fā)現(xiàn)目標(biāo)。 -
不依賴于分布式存儲(chǔ);單個(gè)節(jié)點(diǎn)是具有自治能力。 -
PromQL,一種強(qiáng)大而靈活的查詢語(yǔ)言。 9.Kube-monkey
Kube-monkey是Netflix的Chaos Monkey在Kubernetes集群中的實(shí)現(xiàn)方式。對(duì)一個(gè)系統(tǒng)進(jìn)行壓力測(cè)試的一種萬(wàn)無(wú)一失的方法是隨機(jī)打碎東西。這就是Netflix的Chaos Monkey背后的理論,這是一種混沌工程工具。 特征:
-
Kube-monkey的工作方式是在你指定的集群中隨機(jī)破壞pod,并且可以在特定的時(shí)間窗口內(nèi)進(jìn)行微調(diào)。 -
可根據(jù)你的要求,進(jìn)行高度可定制。 10.PowerfulSeal
PowerfulSeal會(huì)將故障注入Kubernetes集群中,從而幫助你盡快識(shí)別問題。它使創(chuàng)建完整的混沌工程成為可能。 特征:
-
與Kubernetes,OpenStack,AWS,Azure,GCP和本地環(huán)境兼容。 -
可以與Prometheus和Datadog集成以進(jìn)行指標(biāo)收集。 -
通過(guò)自定義用例,支持多種模式。
結(jié)論
開源技術(shù)的最大好處是它們的可擴(kuò)展性。你可以根據(jù)需要向該工具添加功能,以更好地適應(yīng)你的基礎(chǔ)架構(gòu)。 由于微服務(wù)架構(gòu)成為主流,因此使用可靠的工具來(lái)監(jiān)控和診斷系統(tǒng),必將成為每個(gè)開發(fā)人員的必備技能。 參考鏈接:https://www.kubernetes.org.cn/9046.html 來(lái)源:K8s中文社區(qū)
(版權(quán)歸原作者所有,侵刪)? -
-
-
-
-
-
-