乐趣区

关于sre:SRE与DevOps的10大开源项目

原文: 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

退出移动版