文档章节

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

Caicloud
 Caicloud
发布于 2016/12/08 11:07
字数 1027
阅读 161
收藏 1

原文作者 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 发布第一版之后,一如 Björn 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

© 著作权归作者所有

Caicloud
粉丝 18
博文 77
码字总数 153394
作品 0
杭州
程序员
私信 提问
“突破·创新 跨越新高峰”锐捷网络召开2017年合作伙伴大会

3月8日,以“突破·创新 跨越新高峰”为主题的锐捷网络2017年合作伙伴大会在广州召开。在本次大会上,锐捷网络回顾了2016年携手合作伙伴取得的骄人业绩,重磅发布了下一代创新产品和解决方案...

玄学酱
2018/04/16
0
0
实操案例:使用Prometheus Operator进行集群监控

据Sysdig发布的容器报告,容器以及如Kubernetes等编排工具的使用增长了51%以上,大家开始将工作负载在集群中进行托管并管理。鉴于集群中短暂的状态,对于端到端的集群有一个十分重要的需求...

RancherLabs
09/18
0
0
部署 Prometheus Operator - 每天5分钟玩转 Docker 容器技术(179)

本节在实践时使用的是 Prometheus Operator 版本 v0.14.0。由于项目开发迭代速度很快,部署方法可能会更新,必要时请参考官方文档。 下载最新源码 git clone https://github.com/coreos/prom...

cloudman6
2018/06/10
0
0
Kubernetes Meetup 中国2017 成都站

自2016年4月,美国 CNCF 基金会正式授权才云科技(Caicloud)主办中国地区 Kubernetes Meetup 。在过去一年中,才云团队携手来自 eBay、腾讯、VMware、Google、中国移动、浙大 SEL 实验室的架...

Caicloud
2017/05/03
36
0
prometheus-operator架构部署( prometheus-server, pushgateway, grafana, alertmanater,servicemonitor...)

版权声明:本文为博主原创文章,转载请注明来源。开发合作联系luanpenguestc@sina.com https://blog.csdn.net/luanpeng825485697/article/details/83755430 github官网:https://github.com/c...

数据架构师
2018/11/07
0
0

没有更多内容

加载失败,请刷新页面

加载更多

为什么Netty的FastThreadLocal速度快

前言 最近在看netty源码的时候发现了一个叫FastThreadLocal的类,jdk本身自带了ThreadLocal类,所以可以大致想到此类比jdk自带的类速度更快,主要快在什么地方,以及为什么速度更快,下面做一...

ksfzhaohui
16分钟前
4
0
资治通鉴解析:无论什么条件,要挟权力做出承诺,都会被清算

电影《满城尽带黄金甲》里有句经典的名言“朕赐给你的,才是你的。朕不给你的,你不能抢。”之所以这段话有名,核心的就是,它揭示了这样一个权力心思:无论什么情况,权力的行使,都不愿意受...

太空堡垒185
20分钟前
3
0
CSS技巧之向下箭头

本文转载于:专业的前端网站➫CSS技巧之向下箭头 思路: 使用◇符号(可在输入法的软键盘找到该符号),使用定位选择位置,并隐藏溢出的上半部分 细点: 1.使用i标签的楷体属性把◇变大 2.给i...

前端老手
37分钟前
2
0
SpringCloud alibaba微服务之NACOS多环境配置整合

前言 伴随着spring cloud alibaba 登上主板以后,我就去了解下感觉还是蛮不错的。说实话第一次看见Nacos好长一段时间连读法都不知道...(/nɑ:kəʊs/)。按照官方的话说Nacos是:一个更易于...

攻城狮-飞牛
39分钟前
4
0
tcpdump

tcpdump -A -s0 port 21011 -i any (1)tcp: ip icmp arp rarp 和 tcp、udp、icmp这些选项等都要放到第一个参数的位置,用来过滤数据报的类型 (2)-i eth1 : 只抓经过接口eth1的包 (3)-t : 不显...

mskk
44分钟前
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部