十大Kubernetes开源监控工具 (十大kux)

教程大全 2025-07-09 19:28:00 浏览
十大kux

十大Kubernetes开源监控工具

译文2019-11-01 09:00:00在本文中,我们将通过优缺点的比较,向您介绍十大流行的Kubernetes开源监控工具。

【51CTO.com快译】如今,Kubernetes在GitHub上已经拥有了超过58000万颗点赞之星,而且它在全球范围内有着2200多名在册的贡献者。可以说,它已然成为了容器编排方面的实际标准。不过,在解决并运行分布式微服务应用的过程中,它时常也会面临一些严峻的挑战。其中,广为开发与运维人员所提及的挑战之一便是:对于Kubernetes的监控问题。面对复杂的分布式环境,大家往往需要通过开发各种开源的监控方案,以满足实际应用的需求。

当前,在Kubernetes生态系统及其社区中,有着林林总总的Kubernetes工具。它们中有的能够通过日志来辅助检测状态;有的则是一种数据收集器;而另一些则提供了操作Kubernetes的界面。有些是Kubernetes原生的,有些则是开发人员自行研发的。在本文中,我们将通过优缺点的比较,向您介绍十大流行的Kubernetes开源监控工具。

Prometheus

优点:Kubernetes原生,易于使用,拥有庞大的社区。

缺点:可扩展性与存储能力不强。

由于具有与大量数据源的集成能力,因此Grafana在业界备受欢迎。同时,强大的Grafana具有警报、注释、过滤、特定数据源查询、可视化仪表板、身份验证与授权、以及跨组织协作等多种功能。

优点:拥有大型生态系统,以及丰富的可视化与警报功能。

缺点:未能针对Kubernetes的日志管理进行优化。

ELK(ala Elastic Stack)

就Kubernetes的日志而言,最受欢迎的开源解决方案当属ELK Stack。ELK是Elasticsearch、Logstash和Kibana的首字母缩写,其实它包含了第四个组件:Beats。它们都属于轻量级的数据传送器。虽然堆栈中的每一个组件都仅负责日志管道中的不同阶段,但是它们组合在一起,却能为Kubernetes提供了一个全面而强大的日志解决方案。

其中,Logstash管道能够在发送日志并对其进行存储之前,完成数据的汇总和处理。具有可扩展性的Elasticsearch,即使在存储和搜索数百万个文档时,也能具有不俗的表现。其对应的Kibana平台,则能够出色地为用户提供分析数据所需的可视化界面。

堆栈中所有不同的组件都可以被轻松部署到Kubernetes环境之中。您可以使用各种部署配置、以及helm图表,将不同的组件作为pod予以运行。通过部署,我们可以将Metricbeat和Filebeat作为守护进程的采集器,将Kubernetes的元数据附加到对应的文档中。

优点:拥有庞大的社区,易于在Kubernetes中部署与使用,具有丰富的分析功能。

缺点:扩展起来较为麻烦。

Fluentd/Fluent Bit

Fluentd在Logstash的基础上进行了相关性能的改进,因此也广受Kubernetes用户的欢迎。在工具设计方面,Fluentd拥有出色的性能、可扩展性和可靠性。各种简单方便的输入与输出,并不会对其性能产生任何影响。针对处理传输中的故障、以及数据过载问题,Fluentd使用磁盘或内存来进行缓冲和队列。同时,Fluentd通过支持多种配置选项,以确保提供更为灵活的数据管道。

Kubernetes原生的Fluentd和Fluent Bit都隶属于CNCF项目。它们不但可以与Kubernetes无缝集成,而且能够在仅占用少量资源的情况下,使用相关的pod和容器元数据来丰富各类数据。

优点:具有庞大的插件生态系统,提供优异的性能与可靠性。

缺点:配置较为麻烦。

cAdvisor(

作为一款开源的代理工具,cAdvisor能够通过收集、处理和导出数据,来展示那些正在运行的容器性能,及其资源使用情况。它能够以Kubelet二进制文件的形式,被内置集成到Kubernetes之中。

与其他代理工具不同,cAdvisor并不是被部署在每个pod中,而是在节点级别上。它能够自动发现计算机上所有正在运行的容器,并收集到诸如内存、CPU等系统网络指标。

作为一款基础性的本地开源监视工具,cAdvisor具有易用性,用户可以开箱即用(out-of-the-box)的方式发现Prometheus的参数指标。不过,要想成为一款全方位的监视解决方案,cAdvisor尚有持续改进的空间。

优点:内置于Kubernetes,易于部署和使用,能够支持多个端点。

缺点:过于基础,缺乏分析的深度,且功能有限。

kubewatch(

顾名思义, kubewatch能够监控那些特定的Kubernetes事件,并将此类事件以通知的形式推送到诸如Slack和PagerDuty的端点上。具体而言,kubewatch能够通过监控,来获悉Kubernetes指定资源的变化,其中包括:守护进程集、部署、pod、副本集、复制控制器、服务、密码、以及各种配置映射。Kubewatch不但易于配置,而且能够使用helm来进行自定义部署。

优点:支持多个端点,且易于部署。

缺点:只是一个监控器。

kube-ops-view(

虽然kube-ops-view项目的官方文档已明确指出:它不是一款监控工具,不能对生产环境进行监控与报警。但是它可以为您提供Kubernetes集群、不同部署节点、以及节点上不同Pod的运行状态信息。

优点:易于部署与使用。

缺点:作为只读工具,不太适用于管理Kubernetes资源。

kube-state-metrics

作为一款Kubernetes的原生监控指标服务,kube-state-metrics能够侦听各种Kubernetes API,并能够生成诸如Pod、服务、部署、以及节点等,有关对象的状态指标。您可以通过链接:,来获悉kube-state-metrics能够生成的完整指标列表。

kube-state-metrics虽然极其简单易用,但是由于它只能提供单一的指标服务,因此需要更多的改进,才能集成到完整的Kubernetes监控解决方案之中。kube-state-metrics能够以纯文本格式,导出HTTP端点上的指标。那些使用Prometheus的用户会经常使用到它。

优点:属于Kubernetes原生,易于使用,能与Prometheus无缝集成。

缺点:仅提供单一的指标生成服务。

Jaeger(

目前,分布式跟踪正在逐渐成为针对Kubernetes环境监视和故障排除的优秀实践方式。Jaeger正是此类开源跟踪工具中的佼佼者。

2016年,Uber在其他现有跟踪工具:Zipkin和Dapper的启发下,开发出了开源式的Jaeger。它能够帮助用户执行根本原因分析,性能优化和分布式的事务监控。

Jaeger具有适用于Go、Java、Node、Python和C++应用程序的OpenTracing-based特征。它能够根据每一个服务或端点,来使用一致性的前端信息采样频率。同时,它也支持Cassandra、Elasticsearch、Kafka、以及内存等多种存储后端模式。

Jaeger具有多种上手模式:用户既可以使用全新的Jaeger Operator(,也可以使用守护进程来进行配置,另外它还有一个适用于测试和演示目的的all-in-one部署方式。

优点:易于部署,且能够通过用户界面来检测各种监控选项。

缺点:提供有限的后端集成。

Weave Scope

由Weaveworks开发的监视工具–Weave Scope,能够让您获悉对于Kubernetes集群的操作洞见。

虽然和kube-ops-view有几分类似,但Weave Scope主要是通过更好的用户界面,来提升服务等级;并允许用户在其界面上运行各种诊断命令,来管理不同的容器。

您可以通过该应用工具,来有效地掌控部署环境,并在其上部署自己的基础架构,以及不同的组件连接。

优点:提供了“零配置”式的用户界面。

缺点:其分析深度欠佳。

总结

上述所列举的十大Kubernetes开源工具,只是业界所有工具中的“冰山一角”。它们在不同程度上为用户提供了设计Kubernetes堆栈的可观察性。您可以通过设置小型的沙箱环境,从小规模的测试开始,进行尝试性的测试和部署,进而判断出哪一款才是您真正所需要的工具。


1992年阴历五月十六日中午两点出生的命运

深具才能之外,行事专一的态度也会使这天出生的人能够贯彻始终,直到达成目标为止。 整体大运方面:生性喜好积存财富的他们,天生具备理财观念,除了能够开源之外,也相当懂得节流,因此一生财务丰足,少有匮乏的疑虑。 事业方面,出外发展容易逢遇贵人相助,若有机会赴外地工作,应把握机会。 婚姻方面,由于命中有刑克妻子之害,因此最好婚配命格强硬的对象。 大体说来是属于昌盛繁荣的命局。

赛班和安卓开发有什么区别?

安卓的系统可玩性和界面华丽度是塞班无法比的。 但是塞班简易,方便,容易上手。 安卓是唯一可以与iphone抗衡的系统,扩展性强,应用软件多,操作体验好。 如果你喜欢玩手机的话还是建议安卓。 安卓现在性价比比较高的是g3,也就是htc hero,两千左右的价格。 不过最新出的渴望hd(g10)的性能很强悍,但价格就高了。 塞班的机子最近一直走低端,性价比比较高的是e5,但还是比较推荐e72和n86。 毕竟一分价钱一分货安卓怎么说呢,华丽、时尚,而且资源真的真的很多,现在iPhone的开发者们基本上都在向安卓移植,虽说安卓的机型很多,虽说屏幕分辨率相差很大(M9和G4),但是说实在的,绝大多数都可以自适应屏幕,只有少数的软件、游戏需要二次修改。 安卓最大的特点就是基于互联网的手机操作系统,所以很费流量,基本上GPS、wifi、3G什么的都是标配,感觉谷歌把安卓做的越来越像电脑,越来越娱乐化、但是我用了大半年的安卓后,还是选择了塞班,不是说安卓比不上塞班,也不是说塞班现在依旧宝刀未老,只是说,个人感觉,塞班VS安卓,完全是两种不同的风格,就像E63和5530,一个是偏重商务、实用,一个是偏重个性、时尚。 就单纯说易用性,毫无疑问塞班是强者,在这个厂家纷纷把手机做的像电脑的年代,诺基亚把手机做的回归手机的本质。 安卓更像是一个娱乐与个性化的平台,新潮而激进,就这么说吧,安卓的游戏很多而且很华丽,一个小小的抛物线类游戏,就可以做成十几M的《愤怒的小鸟》,明明是一个重力感应的赛车游戏,就可以做成几十M的《都市赛车》,更别说数据包几百M的一些游戏,安卓追求的是华丽,华丽背后牺牲的是强大的硬件设施。 128RAM根本不能跑安卓2.1,估计玩游戏都够呛,在我看来,目前的安卓最低配置应该是800Mhz+512RAM,可是反观塞班,128的RAM玩的照样流畅,600Mhz的部分机型甚至烧坏主板,所以,现如今的塞班硬件要求或者说对于硬件的追求,没有安卓的疯狂。 安卓硬件的新老交替,半年足矣。 但是,当我们迷茫在应该买多高主频,多大运存的时候,是不是应该想想,手机的基本功能是什么呢?通话。 安卓手机随便上上网,待机超过一天的就很不错了,虽说塞班V5待机也一般,相比安卓,实在是好太多了。 现在感觉,如果你是一个追求新潮,手机使用时间不会超过半年,而且不缺米的人,毫无疑问,安卓适合你如果你是一个普通的手机使用者,一个靠自己辛苦工作赚钱的人,塞班足矣。

怎么在kubernetes里面搭建hadoop集群

Kubernetes是一个开源项目,它把谷歌的集群管理工具引入到虚拟机和裸机场景中。 它可以完美运行在现代的操作系统环境(比如CoreOS和Red Hat Atomic),并提供可以被你管控的轻量级的计算节点。 Kubernetes使用Golang开发,具有轻量化、模块化、便携以及可扩展的特点。 我们(Kubernetes开发团队)正在和一些不同的技术公司(包括维护着Mesos项目的MesoSphere)合作来把Kubernetes升级为一种与计算集群交互的标准方式。 Kubernetes重新实现了Google在构建集群应用时积累的经验。 这些概念包括如下内容:Pods:一种将容器组织在一起的方法;Replication Controllers:一种控制容器生命周期的方法(译者注:Replication Controller确保任何时候Kubernetes集群中有指定数量的pod副本(replicas)在运行);Labels:一种可以找到和查询容器的方法;Services:一个用于实现某一特定功能的容器组;因此,只要使用Kubernetes你就能够简单并快速的启动、移植并扩展集群。 在这种情况下,集群就像是类似虚拟机一样灵活的资源,它是一个逻辑运算单元。 打开它,使用它,调整它的大小,然后关闭它,就是这么快,就是这么简单。 Mesos和Kubernetes的愿景差不多,但是它们在不同的生命周期中各有不同的优势。 Mesos是分布式系统内核,它可以将不同的机器整合在一个逻辑计算机上面。 当你拥有很多的物理资源并想构建一个巨大的静态的计算集群的时候,Mesos就派上用场了。 有很多的现代化可扩展性的数据处理应用都可以在Mesos上运行,包括Hadoop、Kafka、Spark等,同时你可以通过容器技术将所有的数据处理应用都运行在一个基础的资源池中。 在某个方面来看,Mesos是一个比Kubernetes更加重量级的项目,但是得益于那些像Mesosphere一样的贡献者,Mesos正在变得更加简

本文版权声明本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请联系本站客服,一经查实,本站将立刻删除。

发表评论

热门推荐