构建可扩展且高度可靠的软件系统是每个SRE的终目标。
在SRE/DevOps领域中,有大量出色的开源项目,每个项目都有新颖而激动人心的解决方案。在本文中,我们将会介绍一些在监控,部署和运维领域受欢迎的开源项目。
1. Cloudprober
特征:
能与Prometheus和Grafana等开源监控系统集成。Cloudprober也可以导出探测结果。 目标自动发现。为GCE和Kubernetes提供了开箱即用的支持;其他云服务可以轻松配置。 部署简单。它可以通过Docker容器快速部署。 占用空间小。Cloudprober镜像大小很小,仅包含静态编译的二进制文件,并且它需要非常少的CPU和RAM就能运行大量的探针。
2.Cloud Operations Sandbox(Alpha)
特征:
演示服务—基于现代云原生微服务架构设计的应用程序。 一键式部署-通过脚本将服务部署到Google Cloud Platform的工作。 负载生成器-在演示服务上模拟流量的组件。
3. Kubernetes的版本检查器
特征:
可以一次设置多个镜像仓库。 使你可以将版本信息视为Prometheus指标。 支持诸如ACR,DockerHub,ECR之类的镜像仓库。
4.Istio
特征:
支持HTTP,gRPC,WebSocket和TCP通信的负载均衡。 通过丰富的路由规则,重试,故障转移和故障注入对流量行为进行细粒度控制。 可插拔的策略层和配置API,支持访问控制,速率限制和配额。 集群的入口和出口,以及集群内所有流量指标,日志和跟踪信息。 基于身份的验证和授权,保障了服务间通信的安全。
5. Checkov
特征:
超过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具有分布式和可扩展性,可轻松支持成百上千的用户。 UI界面,可实时显示进度。 稍加修改就可以测试任何系统。
8.Prometheus
特征:
多维数据模型(由度量标准定义的时间序列)。 通过服务发现或静态配置发现目标。 不依赖于分布式存储;单个节点是具有自治能力。 PromQL,一种强大而灵活的查询语言。
9.Kube-monkey
特征:
Kube-monkey的工作方式是在你指定的集群中随机破坏pod,并且可以在特定的时间窗口内进行微调。 可根据你的要求,进行高度可定制。
10.PowerfulSeal
特征:
与Kubernetes,OpenStack,AWS,Azure,GCP和本地环境兼容。 可以与Prometheus和Datadog集成以进行指标收集。 通过自定义用例,支持多种模式。
结论
来源:K8s中文社区