Prometheus详解(七)——Prometheus监控Kubernetes集群简介

今天继续给大家介绍Linux运维相关知识,本文主要内容是Prometheus监控Kubernetes集群。

一、监控指标

Prometheus对于Kubernetes集群的监控一般考虑以下方面:
1、Kubernetes节点的监控,比如节点的CPU、Load、fdisk、Memory等指标。
2、内部系统组件状态,比如kube-scheduler、kube-controller-nanager、kubedns/coredns等组件的运行状态。
3、编排级的metrics,比如Deployment的状态、资源请求、调度和API延迟等数据指标。

二、监控方案

Kubernetes的集群监控主要有以下几种方案:
1、Heapster
Heapster是一个集群范围的监控和数据聚合工具,以Pod的方式运行在集群中。Heapster的监控架构如下所示:
在这里插入图片描述
2、cAdvisor
cAdvisor是Google开源的容器资源监控和性能分析工具,它专门为容器而生,本身也支持Docker容器。当前,Kubernetes将其作为内置的一部分,使得我们不用安装,可以直接使用。
3、Kube-state-metrics
Kube-state-metrics可以通过监听API Server生成有关资源对象的状态指标,如Pod、Node等。但是Kube-state-metrics只提供metrics数据,并不会存储这些数据,因此我们需要使用Prometheus来抓取这些数据,并进行存储。相比于metrics-server,Kube-state-metrics主要关注的是业务的元数据,比如Deployment、Pod以及副本数量等等。
4、metrics-server
metrics-server也是一个集群范围内的资源监控和数据聚合工具,是Heapster的替代品。与Kube-state-metrics类似,metrics-server也只是显示数据,并不提供数据存储服务。相比于Kube-state-metrics,metrics-server主要关注的是资源的API实现,比如CPU、文件描述符、内存等指标。

三、监控服务自动发现

Kubernetes集群本身可以提供API,以供Prometheus监控服务的自动发现。Kubernetes目前支持5种服务发现,分别是Node、Server、Pod、Endpoints、Ingress。
我们可以使用kubernetes_sd_configs下的role参数来指定具体监控内容。node、server、pod、endpoints和ingress分别代表了上述五种服务发现类型。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

猜你喜欢

转载自blog.csdn.net/weixin_40228200/article/details/124968385