成功的 SRE 之路就在于不断的学习。对付 SRE/DevOps 来说,目前已经有许多精良的开源项目,每个项目都有新的、激动民气的实现,而且常常会面对独特的寻衅。这些开源项目完成了繁重的事情,因此你可以更轻松地完本钱身的事情。
在本文中,我们将先容在监控、支配和掩护领域中最受欢迎的几个开源项目。在这些项目中,有一些项目是仿照网络流量的项目,并可以让你为不可预测的(混沌)事宜进行建模,从而可以开拓出可靠的系统。
Cloudprober 是一种主动 跟踪 和监控的运用,它能在客户之前创造故障。它采取“主动”监控模型,以检讨组件是否按预期运行。例如,它主动运行探针,以确保前端是否可以访问后端。同样,也可以运行探针来验证内部系统是否能够真正访问云内虚拟机。这种跟踪方法使得跟踪运用程序的配置变得非常大略,并且与实现无关,使你能够轻松地确定系统中发生了哪些故障。

特点:
与 Prometheus 和 Grafana 的开源监控栈的原生集成。Cloudprober 也可以导出探测结果。对付云目标,自动创造目标。对 GCE 和 Kubernetes 供应开箱即用的支持;其他云做事也可以轻松配置。在易于支配方面作出重大承诺。Cloudprober 完备用 Go 编写,并被编译成静态二进制文件。通过 Docker 容器可以快速支配它。除了大多数更新之外,Cloudprober 常日不须要重新支配或重新配置,由于有自动创造目标。Cloudprober Docker 镜像非常小,并且只包含静态编译的二进制文件,而且纵然运行大量的探测,也只需非常少量的 CPU 和内存。
Cloud Operations Sandbox (Alpha)
Cloud Operations Sandbox 是一个开源平台,它让专家们理解谷歌的做事可靠性工程实践,并利用 Ops Management(以前的 Stackdriver)将其调度到他们的云系统中。它基于 Hipster Shop,一个基于云的原生微做事平台。把稳:这须要谷歌云做事账户。
特点:
演示做事:一个设计在当代云本微做事架构上的运用程序。一键支配:一个脚本处理将做事支配到谷歌云平台的事情。负载天生器:在演示做事上天生仿照流量的部件。
Version Checker for Kubernetes
Kubernetes 实用工具 许可你不雅观察集群中运行的映像的现有版本。该工具还许可你在 Grafana 仪表板上以表格形式查看当前镜像版本。
特点:
可同时设置多个自托管注册中央。该实用程序许可将版本信息视为 Prometheus 度量。支持诸如 ACR、DockerHub、ECR 之类的注册中央。
Istio
Istio 是一个开放的框架,用于合并微做事、通过微做事监控流量移动、实行策略以及以标准化的办法聚合遥测数据。Istio 的掌握平面在集群管理的底层平台(如 Kubernetes)上供应了一个抽象层。
特点:
对 HTTP、gRPC、WebSocket 和 TCP 流量进行自动负载均衡。通过丰富的路由规则、重试、故障切换和故障注入对流量行为进行细粒度掌握。支持访问掌握、速率限定和配额的可插拔策略层和配置 API。集群内所有流量的自动度量、日志和跟踪,包括集群入口和出口。集群中的安全做事到做事通信具有强大的基于身份的身份验证和授权。
Checkov
Checkov 是一个根本举动步伐即代码的静态代码审核对象。它扫描 Terraform、Cloud Details、Cubanet、Serverless 或 ARM 模型云根本举动步伐,并检测安全和合规性配置缺点。
特点:
400 多条内置规则涵盖了 AWS、Azure 和谷歌云的最佳保护和安全实践。评估 Terraform 供应商设置以监视 Terraform 管理的 IaaS、PaaS 或 SaaS 开拓、掩护和更新。检测 EC2 用户数据、Lambda 高下文变量和 Terraform 供应商中的 AWS 凭据。
Litmus
Litmus 是一个基于云的混沌建模工具包。Litmus 供应了在 Kubernetes 上编排混沌的工具,以帮助 SRE 创造支配中的漏洞。SRE 利用 Litmus 进行混沌测试,首先在暂存区,末了在开拓区中创造故障和漏洞。修复这些毛病,从而提高系统的弹性。
特点:
开拓职员可以在运用开拓过程中运行混沌测试,作为单元测试或集成测试的扩展。对付 CI 管道构建器:当运用程序在管道中遭遇故障路径时,将混沌作为管道阶段运行,以查找缺点。
Locust
Locust 是一个大略易用、可编写脚本且灵巧的性能测试运用程序。你可以在标准的 Python 代码中定义用户的行为,而不是利用笨重的 UI 或特定领域的措辞。这使得 Locust 具有可扩展性和开拓者友好性。
特点:
Locust 是分布式和可扩展的,可轻松支持数百或数千名用户。基于 Web 的用户界面,实时显示进度。只要稍加修整,就能测试任何系统。
Prometheus
云原生打算根本项目 Prometheus 是一个别系和做事监控系统。它在特定时间从配置的目标提取度量,测试规则,并显示结果。如果违反指定的条件,它将触发关照。
特点:
多维数据模型(由度量名称和一组键 / 值维度定义的韶光序列)。通过做事创造或静态配置创造目标。不依赖于分布式存储;单个做事器节点是自治的。PromQL,一种强大而灵巧的查询措辞,可以利用这种维度。
Kube-monkey
Kube-monkey 是 Netflix 的 Chaos Monkey 的 Kubernetes 集群实现。Kubernetes POD 的随机删除有助于创建抗故障资源,并同时验证它们。
特点:
Kube-monkey 采取的是选择加入模式,并且只针对 Kubernetes 用户的终止,这些用户已经明确接管 Kube-monkey 将终止他们的 pod。根据你的需求高度定制的调度功能。
PowerfulSeal
PowerfulSeal 将故障注入到 Kubernetes 集群中,帮助尽快识别问题。它使描述完备混沌实验的场景得以创建。
特点:
兼容 Kubernetes、OpenStack、AWS、Azure、GCP 和本地机器。与 Prometheus 和 Datadog 连接以网络度量。自定义用例许可多种模式。
结语
开源技能的最大好处在于它的可扩展性。如果须要,你可以在工具中添加功能,使其更适宜你的定制架构。这类开源项目拥有广泛的支持文档和用户社区。由于微做事架构将在云打算领域霸占主导地位,用于监控和打消这些实例的可靠工具肯定会成为每个开拓职员的必备工具。
作者先容:
Nir Shrma,Squadcast 技能内容撰稿人。
原文链接:
https://dzone.com/articles/top-open-source-projects-for-sres-and-devops