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