原文: https://dzone.com/articles/to...
翻译: 祝坤荣

构建可伸缩与高牢靠的软件系统是所有SRE的终极目标。跟着咱们最近提供的博客给出的在监控,部署和运维畛域的开源我的项目来进行继续学习。

想成为胜利的SRE须要继续学习。当初有许多SRE/DevOps可应用的开源我的项目,每一种都是新的而让人兴奋的实现,其常常应答特定畛域的挑战。这些开源我的项目帮你承当的分量让你能够干的更轻松些。除了这些开源我的项目,这里还有一个能够收费体验的继续学习平台。

1.CLoudprober

Cloudprober是一个聚焦于在你的客户发现前定位故障的被动追踪与监控的利用。它应用一种‘被动’的监控模型来对你运行的组件是否合乎预期来进行查看。它被动运行探针,比方,确保你的前端能够拜访你的后端。同样的,探针也能够用来确保你的零碎能够达到你云上的虚机VM。这种追踪形式更简略,并与实现独立,跟踪你利用的配置来让你简略的发现零碎中哪里出问题了。

个性:

  • 与开源监控栈Prometheus和Grafana原生集成。Cloudprober也能够导出探针后果。
  • 对于云上的指标,主动发现指标。对于GCE与Kubernetes可开箱即用;其余云服务也能够通过简略的配置来实现。
  • 在部署上极简略。Cloudprober用Go编写并编译成一个可执行的二进制包。它能够疾速通过Docker容器部署。对于更新,因为其主动发现基本上不须要重新部署和重配置Cloudprober。
  • Cloudprober Docker镜像很小,只蕴含了一个动态编译后的二进制文件,它只须要很小的CPU和RAM来运行大数量的探针。

2. Cloud Operations Sandbox(Alpha)

Cloud Operations Sandbox(https://github.com/GoogleClou...)是一个让专家学习Google的SRE实际并通过Ops Management(之前的Stackdriver)来将其适配到他们本人云零碎上的开源平台。它基于Hipster Shop,一个原生微服务的云上平台。记住:它须要一个Google云服务的账号。

个性:

  • Demo Service - 设计上基于古代,云原生,微服务架构的一个利用。
  • 一键部署 - 一个解决将服务部署到Google云平台的脚本。
  • Load Generator - 在Demo Service上制作模仿流量的局部。

3.Kubernetes版本查看

一个让你察看目前运行集群中镜像版本的Kubernetes工具(https://github.com/jetstack/v...,This%20tool%20is%20currently%20experimental.)。这个工具能够让你在Grafana仪表盘上看到表格模式的以后镜像版本。

个性:

  • 多个自部署的registries能够一次配好。
  • 工具让你能够看到相似Prometheus指标的版本信息。
  • 反对如ACR,DockerHub,ECR的registries。

4. Istio

Istio(https://istio.io/)是一个监控微服务间流动流量的开源框架,实现了策略,并应用规范形式聚合了遥测数据。Istio的控制面板提供了一个在治理底层集群Kubernetes之上的形象层。

个性:

  • 对于HTTP,gRPC,WebSocket,TCP流量的主动负载平衡。
  • 有丰盛的规定路由,重试,故障转移,失败注入等管制。
  • 有可拔插的策略层与配置API来反对访问控制,限流与配额。
  • 对于集群内的所有流量都能主动度量,日志和追踪,这也包含了在进入集群和出集群的流量。
  • 通过强健的辨认验证与受权保障了在集群中有平安的服务到服务的通信。

5. Checkov

Checkov(https://www.checkov.io/)是一个基础设施即代码的动态代码review工具。它扫描Terraform,Cloud Details,Cubanet,Serverless,或者ARM模型的云基础设施,查看平安与谬误配置。

个性:

  • 超过400条内置的规定笼罩了AWS,Azure,Google云的最佳爱护与平安实际。
  • Terraform供应商配置可监控Terraform治理的IaaS,PaaS,或SaaS部署,保护和更新。
  • 检测EC2 用户数据,Lambda上下文变量,Terraform供应商中的AWS身份信息。

6. Litmus

云原生的混沌工程(https://github.com/litmuschao...)

Limus是一个云原生的混沌工程工具箱。Litmus提供了在Kubernetes上编排混沌的工具,帮忙SRE发现他们部署上的软弱点。SRE先在预发环境进行混沌测试,并最终在部署环境发现故障和软弱点。修复这些问题可改良零碎的可用性。

个性:

  • 开发者能够在利用部署时将其像运行单元测试或集成测试时一样来进行混沌测试。
  • 对于CI流水线构建者:在流水线阶段运行滚吨测试来发现bug。

7. Locust

Locust(https://github.com/locustio/l...)是一个应用简略,可脚本化和灵便的性能测试利用。你的能够通过规范Python代码来定义你用户的行为,不须要用clunky UI或者畛域特定语言。这让Locust在扩展性上很不错且开发者敌对。

个性:

  • Locust是分布式和可伸缩的 - 能够很容易的反对成千盈百的用户。
  • 其基于Web的UI能够展现实时的进度。
  • 只有一点改变就能够测试任何零碎。

8. Prometheus

Prometheus(https://github.com/prometheus...,一个云原生基金会我的项目,是零碎和服务的监控零碎。它从配置好的指标地位抽取度量信息并显示后果。如果查问信息抵触了,它会触发告诉。

个性:

  • 一种多维度的数据模型(通过指标名称定义的工夫序列和键值对汇合的维度)
  • 指标是通过服务发现或动态配置来发现的。
  • 对于分布式存储没有依赖;单服务节点也能够。
  • PromQL,一个弱小和灵便的查询语言

9. Kube-monkey

Kube-monkey(https://github.com/asobti/kub...是Netflix‘s Chaos Monkey的Kubernetes集群实现。随机删除Kubernetes pods来检测防失败资源并同时进行检测和验证。

个性:

  • Kube-monkey应用opt-in模型操作并只会在特定曾经承受kube-monkey能够终止集群pod的Kubernetes上运行。
  • 基于你的需要高度定制运行日程。

10. PowerfulSeal

PowerfulSeal(https://github.com/powerfulse...向Kubernetes集群注入故障,帮你尽快的辨认问题。它解决混沌试验创立的场景。

个性:

  • 与Kubernetes,OpenStack,AWS,Azure,GCP和本地机器兼容。
  • 与Prometheus与Datadog集成收集度量指标。
  • 反对自定义用例等多种模式。

论断

通过开源技术的可扩大能力提供的便当,你能够退出适宜你自定义架构的个性。这些开源我的项目有文档与开源社区的反对。因为微服务体系结构将主导云计算畛域,监控和定位这些实例问题的牢靠工具必定会成为每个开发人员库的一部分。


本文来自祝坤荣(时序)的微信公众号「麦芽面包」,公众号id「darkjune_think」

开发者/科幻爱好者/硬核主机玩家/业余翻译
转载请注明。

微博:祝坤荣
B站: https://space.bilibili.com/23...

交换Email: zhukunrong@yeah.net