我的新书《Android App开发入门与实战》已于2020年8月由人民邮电出版社出版,欢迎购买。点击进入详情
Kubernetes现在是一个非常流行的话题,随着它越来越受欢迎,更多的开发人员将需要更多的工具来用于他们的Kubernetes应用程序。社区一直非常积极地发布许多开源工具来优化平台,为新进入者和长期开发人员提供了各种各样的开源工具供您选择。有一些很棒的工具无疑可以帮助我们使用Kubernetes,节省我们的时间,使我们的工作更轻松。
在本文中,我们将介绍七种流行且可靠的开源工具,以及它们可以为我们的Kubernetes项目做些什么,使我们的工作更轻松。具体来说,你应该关注2022年的这些项目,因为它们显示出很大的潜力。
ARMO的Kubescape是一个开源工具,用于确定Kubernetes是否使用NSA-CISA和MITRE ATT&CK®等多个框架进行安全部署。使用此工具,团队只需单击一下即可针对众多框架测试 Kubernetes。Kubescape 可以扫描 CI/CD 管道中的 HELM 图表、YAML 文件和 K8s 集群,从而能够及早发现配置错误和软件漏洞。它还实时计算风险评分,并显示一段时间内的风险模式。
Kuberscape 简单的 CLI 界面、可调节的输出格式和自动扫描功能帮助它成为开发人员中最受欢迎的 Kubernetes 安全合规性解决方案之一,为 Kubernetes 用户和管理员节省了时间、精力和资源。Kubescape 与其他 DevOps 工具(包括 Jenkins、CircleCI 和 Gitlab)本机集成,并且还支持 EKS、GKE 和 AKS 等多云 K8s 部署。
这项新技术可以推向极限,使其成为2022年必经的项目。
SoundCloud的Prometheus是一个开源系统监控框架和Kubernetes警报工具包。该工具还具有针对 Kubernetes 集群的内置监控功能,以及在几分之一秒内捕获大量数据的能力。非常适合高度复杂的工作,它具有多维数据模型和非常用户友好的格式和协议。
Prometheus通过根据预定义的配置发出HTTP请求(通常称为抓取)来运行。将分析并保存抓取响应以及任何相关指标和信息。抓取的数据是可读的,不言自明的,并通过HTTP发布。Prometheus 服务器还会生成一个系统来与此数据进行交互,从而提供深度查询、可视化、存储和其他功能。
Grafana是一个监控,指标,数据可视化和分析系统。此开源工具允许您使用一系列图形(包括热图、折线图和地理地图)创建完整的监控仪表板。Grafana非常强大,具有警报,特定于数据源的查询,身份验证/授权等功能。
它设置简单,在 Kubernetes 社区中广泛使用。默认情况下,某些部署配置文件包含 Grafana 容器。Grafana可以通过Slack,webhook,电子邮件或其他通信渠道发送警报,并且可以同时查询多个实体。
Jaeger 是一个免费的跟踪工具,用于监视和调试复杂的分布式系统。它由Uber Technologies于2016年发布并开源。它在复杂的分布式系统中用于事务监视和调试。此外,Jaeger 还执行根本原因分析、分布式事务监控和分布式上下文传播等服务。该工具允许用户进行根本原因调查,性能优化和分布式事务监控。
Jaeger支持基于OpenTelemetry的数据源,如Cassandra,Elasticsearch,Kafka和RAM。它支持Java,Node,Python,Go和C++。Jaeger Operator 是一个 Kubernetes Operator 实现,它提供了一种不同的打包、部署和控制 Kubernetes 应用程序的方式。您可以使用 Jaeger Operator 或 DaemonSet 配置来部署 Jaeger。出于测试和演示原因,还提供一体化部署
Netflix的混沌monkey在Kube-monkey中作为Kubernetes集群实现:一种混沌工程工具,可以随机终止生产中的虚拟机和容器,以“推动”开发人员构建更具弹性的系统。Kube-monkey 是基于相同基本概念的 Kubernetes 集群的压力测试工具。它的工作原理是随机消除您指定的集群中的 k8s Pod,并且可以将其配置为在特定时间范围内运行,刺激抗故障服务的形成,并改善系统的整体运行状况。
您还可以使用TOML文件来配置Kube-monkey,从而允许您指定应删除哪些应用程序以及该工具应何时使用您的恢复过程。你对混乱有一些额外的控制,因为它不是完全随机的;Kube-monkey 在选择加入的基础上运行,这意味着您必须授予在给定应用程序中终止 pod 的授权,然后猴子才能疯狂运行。您可以决定应销毁哪个应用程序以及何时应练习恢复策略。
Istio 是一个开源服务网格,它使在容器中运行的微服务之间的连接、管理和流量保护变得更加容易。Istio 是 IBM、Google 和 Lyft 在 Envoy 上建立的合作,允许插件和扩展的可能性。Istio 增强了 Kubernetes 系统中的安全性、可观察性和流量管理,因为不幸的是,它们带来了新的开发和架构问题。
服务网格在每个容器旁边安装一个 sidecar 代理,并将这些网络功能封装到控制平面。它就是这样一个开源服务网格,已经得到了广泛的采用。
Kubernetes Dashboard 是一个基于 Web 的 Kubernetes 集群用户界面。本机仪表板使故障排除和监控 K8s 集群更易于管理。您必须在 Kubernetes API 服务器之间建立安全的代理通道才能访问仪表板。本机 Kubernetes 仪表板依赖于 Heapster 数据收集器,该数据收集器也必须安装在计算机上。
仪表板提供基本指标,例如所有节点的内存和 CPU 消耗数据,并监控工作负载(Pod、部署、副本集、cron 作业等)的状态,以及管理和排除 Kubernetes 集群的故障。使用即用型 YAML 文件,您可以快速安装 Kubernetes 仪表板。