Prometheus 携手 Kubernetes 提升开发速度,加速攀登行业高峰 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Recommended Services
Amazon Web Services
LeanCloud
New Relic
ClearDB
caicloud2015

Prometheus 携手 Kubernetes 提升开发速度,加速攀登行业高峰

  •  
  •   caicloud2015 2016 年 12 月 8 日 2983 次点击
    这是一个创建于 3421 天前的主题,其中的信息可能已经有所发展或是发生改变。

    原文作者 Tom Wilkie 简介: Tom Wikie ,现居伦敦。曾就职于 Citrix Systems ;之后联合创办 Acunu ,并出任 CTO ;再后来在 Google 出任 Site Reliability Manager ;现于 Weaveworks 任项目工程总监。本文是他在尝试将 Prometheus 与 Kubernetes 进行结合使用后发表的文章。

    在伦敦那场 Meetup 上,我做过一个“ Weaveworks 使用 Prometheus 来管理 Weave 云( Weave 云运行在 Kubernetes 集群上)”的演讲( PPT 分享链接: http://www.slideshare.net/weaveworks/kubernetes-and-prometheus )。

    在这篇帖子中,我会分享我们在过去 6 个月的开发过程的实践,同时也会分享一些很棒的工具,对 Weave 云进行弹性扩容。

    Prometheus 并非很新的项目,最近社区内的一些成员也贡献了很多优秀的帖子:

    《用 Prometheus 监控 Kubernetes 》 Brian Brazil

    (链接: http://www.slideshare.net/brianbrazil/monitoring-kubernetes-with-prometheus-kubernetes-ireland-2016

    《运行 Prometheus 和 Kubernetes 》 Fabian Reinartz

    (链接: https://coreos.com/blog/prometheus-and-kubernetes-up-and-running.html

    《用 Kubernetes 监控基于 Kubernetes 的微服务架构》 Fabian Reinartz

    (链接: https://devops.jaxlondon.com/wp-content/uploads/2016/05/Monitoring-a-Kubernetes-backed-microservice-architecture-with-Prometheus_Fabian-Reinartz-Bj%C3%B6rn-Rabenstein.pdf

    背景

    五月份,继第一个项目 Kubernetes 之后, CNCF ( Cloud Native Computing Foundation )将 Prometheus 项目也收入囊中。在 Prometheus 发布第一版之后,一如 Bjrn Rabenstein ( SoundCloud 核心开发人员)在 JaxEnter 上描述的那样: Prometheus 和 Kubernetes 有着同样的起源。

    首先,他们都流着 Google 的血液: Kubernetes 起源于 Google 项目 Borg , Prometheus 起源于 Google 项目 Borgmon 。但是它们两者之间还有一层更深的“羁绊” Prometheus 有几个很关键的设计,可以使 Prometheus 成为最好的监控系统(针对你的基础设施和部署在 Kubernetes 上的应用来说)。

    Pulling 和 Discovery

    Prometheus 是一个基于 pull 的监控系统,主要的 Prometheus 服务器会从你的 service 发现和拉取参数。这个发现和拉取系统跟动态的云本地环境(比如 Kubernetes )十分匹配,在这个云本地环境, Prometheus 跟 Kubernetes 整合在一起来发现、列举你正在运行的 service 。随着 service 的放大, Prometheus 开始自动从额外的 replicas 拉取参数。同样的道理,节点运行失败,然后 pod 在不同的节点上重新启动, Prometheus 会自动注意到,并且进行梳理。在我们的起步阶段,同样的 Prometheus 配置被用于我们的开发和产品环境,大大简化了测试。

    标签

    Prometheus 和 Kubernetes 中标签(键值对)的概念是一样的:用于在系统内挑选对象。 Prometheus 用这些标签来识别时序数据,用一系列的匹配标签在查询语言( PromQL )中挑选时序数据。

    Kubernetes 在很多地方都使用标签。比如,要挑选 Pod 来组成 service ,或者启用更加先进的工作流,例如 canarying 。通过分享这个普遍的概念, Prometheus 和 Kubernetes 结合可以为开发人员带来较低的认知负荷。

    **Exporters 和 Pod

    Prometheus 的最佳实践就是本地指导你的 service ( service 是 Kuberentes 的一个组件)。但是对于不是本地指导的 service 来说(比如 Memcached , Postgres 等等),有可能的话,还是使用 exporter 比较好。 Exporter 是一个进程,跟你的 service 一起运行,将 service 的参数翻译成 Prometheus 能够理解的格式。

    Kubernetes 有一个概念叫做 Pod (就是容器组),是一个便于管理和调度的单元。 Pod 是一个包含了多个容器的容器组,共享网络 namespace ,使用 loopback 定位( localhost/127.0.0.1 )就可以进行互相定位。 Pod 提供完美的抽象层,跟你想要监控的 service 结合一起部署 exporters 。

    **Prometheus 和 Kubernetes :完美结合!

    Prometheus 部署在 Kubernetes 的监控有了上述几个特性之后,不仅用起来简单方便,而且连贯统一。

    之后,我们还会再发布一些帖子,内容主要是在 Kubernetes 上部署 Prometheus 的一些经验和教训。我们会在帖子中具体描述我们是如何用 Prometheus 管理我们的 service 和基础设施,以及我们是如何使用 Prometheus 来加快开发进程。

    原文链接: https://www.weave.works/prometheus-kubernetes-perfect-match

    目前尚无回复
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     6054 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms UTC 06:08 PVG 14:08 LAX 23:08 JFK 02:08
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86