SRE和DevOps值得关注的十大开源项目

Tommy744 等级 731 0 0

构建可扩展且高度可靠的软件系统是每个SRE的最终目标。

在SRE/DevOps领域中,有大量出色的开源项目,每个项目都有新颖而激动人心的解决方案。在本文中,我们将会介绍一些在监视,部署和维护领域最受欢迎的开源项目。

1. Cloudprober

Cloudprober可以主动跟踪和监视应用程序,并帮助你提前发现故障。它使用“活动(active)”监视模型来检查你的组件是否按预期运行。例如,它会主动运行探针,以确保你的前端是否可以访问你的后端。同样,可以运行探针来验证你的本地系统是否可以真正访问你的云虚拟机。通过这种跟踪方法,可以轻松地跟踪应用程序的配置,还可以轻松定位系统中发生的问题。

特征:

  • 能与Prometheus和Grafana等开源监视系统集成。Cloudprober也可以导出探测结果。
  • 目标自动发现。为GCE和Kubernetes提供了开箱即用的支持;其他云服务可以轻松配置。
  • 部署简单。它可以通过Docker容器快速部署。
  • 占用空间小。Cloudprober镜像大小很小,仅包含静态编译的二进制文件,并且它需要非常少的CPU和RAM就能运行大量的探针。

SRE和DevOps值得关注的十大开源项目

2.Cloud Operations Sandbox(Alpha)

Cloud Operations Sandbox是一个开源平台,可以通过该平台了解Google服务的可靠性工程实践,还可以使用Cloud Operations工具套件,并将其应用于云服务。注意:这需要一个Google云服务帐户。

特征:

  • 演示服务—基于现代云原生微服务架构设计的应用程序。
  • 一键式部署-通过脚本将服务部署到Google Cloud Platform的工作。
  • 负载生成器-在演示服务上模拟流量的组件。

SRE和DevOps值得关注的十大开源项目

3. Kubernetes的版本检查器

这是一个Kubernetes工具,可以帮助你查看集群中运行的镜像的版本。该工具还允许你在Grafana仪表板上,以表格查看镜像版本。

特征:

  • 可以一次设置多个镜像仓库。
  • 使你可以将版本信息视为Prometheus指标。
  • 支持诸如ACR,DockerHub,ECR之类的镜像仓库。

SRE和DevOps值得关注的十大开源项目

4.Istio

Istio是一个开源框架,用于监视微服务流量,实施策略以及以标准化方式汇总遥测数据。Istio的控制平面上为集群管理(例如Kubernetes)提供了一个抽象层。

特征:

  • 支持HTTP,gRPC,WebSocket和TCP通信的负载均衡。
  • 通过丰富的路由规则,重试,故障转移和故障注入对流量行为进行细粒度控制。
  • 可插拔的策略层和配置API,支持访问控制,速率限制和配额。
  • 集群的入口和出口,以及集群内所有流量指标,日志和跟踪信息。
  • 基于身份的验证和授权,保障了服务间通信的安全。

SRE和DevOps值得关注的十大开源项目

5. Checkov

Checkov是“基础结构即代码”的实践,它是一个静态代码检查工具,能够扫描Terraform,Cloud Details,Cubanet,Serverless或ARM模型云基础架构,并能够检测配置是否有误。

特征:

  • 超过400条内置规则涵盖了AWS,Azure和Google Cloud的最佳安全实践。
  • 能够监视Terraform管理的IaaS,PaaS或SaaS的开发,维护和更新。
  • 能够在EC2用户数据,Lambda上下文和Terraform程序中检测AWS凭证。

SRE和DevOps值得关注的十大开源项目

6.Litmus

Litmus是一个云原生混沌工程。Litmus提供了一些工具来协调Kubernetes上的混沌情况,以帮助SRE发现其部署中的漏洞。SRE首先使用Litmus进行混沌测试,然后使用它来发现故障和漏洞,提高系统的弹性。

特征:

  • 开发人员可以在应用程序开发期间运行混沌测试,作为单元测试或集成测试的扩展。
  • 对于CI流水线构建者:当应用程序遇到流水线中的故障时,可以运行混沌测试以查找错误。

SRE和DevOps值得关注的十大开源项目

7.Locust

Locust是一个易于使用,可编写脚本且灵活的性能测试工具。你可以使用Python代码自定义操作,而不是使用笨拙的UI。这使Locust可以扩展且并对开发人员友好。

特征:

  • Locust具有分布式和可扩展性,可轻松支持成百上千的用户。
  • UI界面,可实时显示进度。
  • 稍加修改就可以测试任何系统。

SRE和DevOps值得关注的十大开源项目

8.Prometheus

Prometheus是Cloud Native Computing Foundation项目,是一个系统和服务监视系统。它在特定时间从已配置的目标中提取指标,测试规则并显示结果。如果违反了指定条件,它将触发警告通知。

特征:

  • 多维数据模型(由度量标准定义的时间序列)。
  • 通过服务发现或静态配置发现目标。
  • 不依赖于分布式存储;单个节点是具有自治能力。
  • PromQL,一种强大而灵活的查询语言。

SRE和DevOps值得关注的十大开源项目

9.Kube-monkey

Kube-monkeyNetflix的Chaos Monkey在Kubernetes集群中的实现方式。对一个系统进行压力测试的一种万无一失的方法是随机打碎东西。这就是Netflix的Chaos Monkey背后的理论,这是一种混沌工程工具。

特征:

  • Kube-monkey的工作方式是在你指定的集群中随机破坏pod,并且可以在特定的时间窗口内进行微调。
  • 可根据你的要求,进行高度可定制。

SRE和DevOps值得关注的十大开源项目

10.PowerfulSeal

PowerfulSeal会将故障注入Kubernetes集群中,从而帮助你尽快识别问题。它使创建完整的混沌工程成为可能。

特征:

  • 与Kubernetes,OpenStack,AWS,Azure,GCP和本地环境兼容。
  • 可以与PrometheusDatadog集成以进行指标收集。
  • 通过自定义用例,支持多种模式。

SRE和DevOps值得关注的十大开源项目

结论

开源技术的最大好处是它们的可扩展性。你可以根据需要向该工具添加功能,以更好地适应你的基础架构。

由于微服务架构成为主流,因此使用可靠的工具来监视和诊断系统,必将成为每个开发人员的必备技能。

译文链接:https://dzone.com/articles/top-open-source-projects-for-sres-and-devops

本文转自 https://www.kubernetes.org.cn/9046.html,如有侵权,请联系删除。

收藏
评论区

相关推荐

DevOps简介
DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。DevOps的概念DevOps一词的来自于Development和Operations的组合,突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和可靠。
DevOps与CICD的区别 及 docker、k8s的CICD思路
1\. DevOps简介DevOps 就是开发(Development)、测试(QA)、运维(Operations)这三个领域的合并。image.png为什么要合并这三个领域?主要是开发和运维的脱节。DevOps是一种思想、一组最佳实践、以及一种文化。DevOps落地实施,从组织架构、设计人员、流程、人员分工、人员技能到工具,变化
基于k8s的DevOps实践之路
原标题:基于k8s的DevOps实践之路很多快速发展的公司都面临着一个巨大挑战:在需求不断动态横向扩容的同时继续保持系统的高可用性。如何有效解决这一问题,Kubernetes(k8s)应运而生。k8s以运行可扩展工作负载而闻名,它可以根据资源使用情况调整工作负载。白山科技云分发团队基于多年的DevOps实践经验,在白山会运维日第三期与Thoughtworks
SRE和DevOps值得关注的十大开源项目
构建可扩展且高度可靠的软件系统是每个SRE的最终目标。在SRE/DevOps领域中,有大量出色的开源项目,每个项目都有新颖而激动人心的解决方案。在本文中,我们将会介绍一些在监视,部署和维护领域最受欢迎的开源项目。 1\. Cloudprober可以主动跟踪和监视应用程序,并帮助你提前发现故障。它使用“活动(active)”监视模型来检查你的组件是否按预
一份DevOps工程师职责清单,待你查阅
如果一个组织的开发人员和运维人员是独立工作的模式,实施DevOps就需要对组织进行大的调整。因为,只有具备合适的组织人员,文化和工具来才能成功实施DevOps。根据显示,实施DevOps的最常见的障碍之一是员工缺乏技能。什么是DevOps工程师?DevOps工程师是一位IT专家,应该对开发和运维工作都有广泛的了解,包括编码,基础
CODING 受邀参与 DevOps 标准体系之系统和工具&技术运营标准技术专家研讨会
2019 年 5 月 24-25 日,国内领先的一站式 DevOps 解决方案供应商 CODING 作为腾讯云的深度合作伙伴,受邀参加在成都举行的由 TC608 云计算标准和开源推进委员会主办,中国信息通信研究院牵头,高效运维社区支持,DevOps 标准工作组负责组织的 DevOps 标准体系之系统和工具 & 技术运营标准技术专家研讨会。 在《研发运营一体
DOIS 2019 DevOps国际峰会北京站来袭~
DevOps 国际峰会是国内唯一的国际性 DevOps 技术峰会,由 OSCAR 联盟指导、DevOps 时代社区与高效运维社区联合主办,共邀全球80余名顶级专家畅谈 DevOps 体系与方法、过程与实践、工具与技术。 会议召开时间:2019-07-05 08:00至 2019-07-06 18:00结束 会议召开地点:北京 主办单位:DevOps
DevOps 初学者宝典
**什么是DevOps** 随着软件发布迭代的频率越来越高,传统的「瀑布型」(开发—测试—发布)模式已经不能满足快速交付的需求。2009 年左右 DevOps 应运而生,简单地来说,就是更好的优化开发(DEV)、测试(QA)、运维(OPS)的流程,开发运维一体化,通过高度自动化工具与流程来使得软件构建、测试、发布更加快捷、频繁和可靠。 ![DevOps
DevOps 转型到底难不难?
DevOps 自 2009 年诞生以来,至今整整过去了十年,从最初的摸索,逐步变成一种主流的软件开发交付模式。DevOps 这个词来自于 Development 和 Operations 的组合,可以说,DevOps 的应用,很好地填补了开发端和运维端之间的信息鸿沟,改善了团队之间的协作关系。 相信你也发现,DevOps 在我们身边出现的频率越
DevOps和它的朋友们——聊聊其他 “Ops”(一)
DevOps不仅仅是将敏捷开发概念与IT运维相结合,还简化了在云环境中开发和部署应用程序的过程,从而使开发生命周期大大缩短。这就是DevOps作为一种开发方法流行的原因。 即使在今天,DevOps仍然是大多数优化管道的核心。持续交付变成了规范,而不是要实现的目标。应用的开发是迭代的,新的更新被推送到云端,用zero down代替部分或整个环境。因为
DevOps第一讲:什么是DevOps
DevOps概念早先升温于2009年的欧洲,因传统模式的运维之痛而生。 ![](https://static.oschina.net/uploads/img/201707/22121051_DBdW.jpg) DevOps是为了填补开发端和运维端之间的信息鸿沟,改善团队之间的协作关系。不过DevOps其实包含了四个部分:产品、开发、测试和运维。 !
DevOps简介
DevOps 是一个完整的面向IT运维的工作流,以 IT 自动化以及持续集成(CI)、持续部署(CD)为基础,来优化程式开发、测试、系统运维等所有环节。 **DevOps的概念** DevOps一词的来自于Development和Operations的组合,突出重视软件开发人员和运维人员的沟通合作,通过自动化流程来使得软件构建、测试、发布更加快捷、频繁和
DevOps能否在Kubernetes攻击中幸存?
![](https://oscimg.oschina.net/oscnet/f9eca4ac5fa4f61c8780f52c71e764f265a.jpg) ![](https://oscimg.oschina.net/oscnet/5acadbba756cf65263ffc4d9a1d8d62e52a.jpg) **导语** DevOps能否
Docker,Kubernetes在DevOps中的作用
![](https://oscimg.oschina.net/oscnet/52f78a229f22fd2d7881a2c9bab59246748.gif) 大纲 -- > * DevOps是什么? > > * 为什么我们需要DevOps? > > * DevOps与敏捷开发有何不同? > > * 重要的De
Kubernetes 如何打赢容器之战?
![](https://oscimg.oschina.net/oscnet/e32673f39787123c39aa0be9e10731fbafc.jpg) Kubernetes 近几年很热门,在各大技术论坛上被炒的很火。它提供了强大的容器编排能力,与此同时 DevOps 的概念也来到大家身边,广大的开发同学也能简单地运维复杂的商业化分布式系统,打破了传统