码迷,mamicode.com
首页 > 其他好文 > 详细

k8s部署prometheus和grafana监控pod和机器资源(11)

时间:2020-04-06 10:01:00      阅读:259      评论:0      收藏:0      [点我收藏+]

标签:形式   图形   push   node节点   gen   语句   kubectl   http协议   基本   

之前咱们有讲过k8s的网络模式,一定要多练习
今天我们来讲解一下监控
具体的yaml我已经放到百度网盘了,大家可以直接下载使用
链接:https://pan.baidu.com/s/16LLvtAM5EJaiy0AnmMTjjQ
提取码:xw54

grafana这个工具是一个图形化的界面,主要负责展示信息,功能非常强大,可以结合prometheus、zabbix、进行收集暂时,另外包括mysql,zk、etcd,nginx这些数据都可以收集展示
prometheus是一个时序的数据库,什么是时序的数据库,就是对之前的数据进行存放,但是不能进行删除修改等系列的操作,热切prometheus对数据是先落到内存,然后定期给磁盘中写入,这个在prometheus的配置文件中有定义,可以自行修改,
另外prometheus主要走的是http协议去通过pull模式拉取数据到agent上面
另外还有一种是push模式,这种模式主要用于数据比较短暂的收集,主要是agent给Pushgateway进行push操作,接收,然后prometheus去pull,pushgateway组件上面的数据,另外prometheus通过收集的数据通过AlertManager组件,进行报警操作,这里定义的报警媒介也比较多,短信,微信、钉钉都是可以的。
我们这里先介绍的是收集和展示后面会有报警通过企业微信

开始部署了:


k8s集群的所有节点上下载所需要的image

docker pull prom/node-exporter
docker pull prom/prometheus:v2.0.0
docker pull grafana/grafana:4.2.0
这里的node-exporter是收集物理机node节点的资源信息,网卡流量,cpu。内存,磁盘等信息

因为node-export是收集物理机的信息,所以每个机器都要有,可以用我们之前的DaemonSet控制器,保证每个机器都存在
技术图片

然后启动
启动之后可以查看是否每个机器上面都存在

技术图片
每个节点上都有了


部署prometheus组件

这里部署需要rbac安全认证,所以需要先创建认证
技术图片
技术图片
接下来以configmap的形式管理prometheus组件的配置文件
configmap :就是为了让镜像 和 配置文件解耦,以便实现镜像的可移植性和可复用性,简单知道就行,后面会介绍到哈

技术图片
技术图片
技术图片
技术图片
现在搭建先看,会用,等后面会介绍这个,这个是个比较重要的知识点

接下来创建rbac和configmap

创建的方式kubectl apply -f xxx.yaml 的格式,固定的

查看一下

技术图片
技术图片


接下来开始部署prometheus组件
技术图片
技术图片
这里存储使用的是emptyDir模式,可以使用hostpath,或者nfs,动态存储pv也可以

在创建svc文件对外可以访问

技术图片
k8s当中svc和pod关联都是通过lable,ingress也是标签,集群基本都是标签进行关联的,这个比较重要哈

创建一些prometheus和svc

技术图片
访问查看一下
技术图片
技术图片
这些数据都是pull过来的

sum by (pod_name)( rate(container_cpu_usage_seconds_total{image!="", pod_name!=""}[1m] ) )
查询pod的语句

技术图片

这里prometheus的图形不好,也不够高大上,所以需要开源的grafana进行展示

也是两部分,grafana部署和svc

技术图片
技术图片

接下来是svc
技术图片
这里没有指定固定端口哈
是随机分配的

当然也可以部署一个域名,方便访问,我们可以使用之前的ingress
技术图片

创建这三个 yaml

启动查看效果

技术图片
域名要是没有可以绑定hosts
技术图片
admin;admin账号密码

配置prometheus源
技术图片
可以直接输入模板编号315在线导入,比较省事,也可以导入json模板

技术图片
技术图片


是不是比之前的prometheus效果要好呢,
好了今天就讲解到这里,大家可以直接使用我的yaml进行配置,有问题欢迎私信或者评论

k8s部署prometheus和grafana监控pod和机器资源(11)

标签:形式   图形   push   node节点   gen   语句   kubectl   http协议   基本   

原文地址:https://blog.51cto.com/xiaorenwutest/2485060

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!