Kubernetes 集群的监控方案

对于 Kubernetes 集群本身的监控也是非常重要的,我们需要时时刻刻了解集群的运行状态。
对于集群的监控一般我们需要考虑以下几个方面:

  1. Kubernetes 节点的监控:比如节点的 cpu、load、disk、memory 等指标
  2. 内部系统组件的状态:比如 kube-scheduler、kube-controller-manager、kubedns/coredns 等组件的详细运行状态
  3. 编排级的 metrics:比如 Deployment 的状态、资源请求、调度和 API 延迟等数据指标
    .

Kubernetes 集群的监控方案目前主要有以下几种方案:

  1. Heapster:Heapster 是一个集群范围的监控和数据聚合工具,以 Pod 的形式运行在集群中。在这里插入图片描述需要注意的是 Heapster 已经被废弃了,后续版本中会使用 metrics-server 代替。
  2. cAdvisor:cAdvisor是Google开源的容器资源监控和性能分析工具,它是专门为容器而生,本身也支持 Docker 容器,在 Kubernetes 中,我们不需要单独去安装,cAdvisor 作为 kubelet 内置的一部分程序可以直接使用。
  3. Kube-state-metrics:kube-state-metrics通过监听 API Server 生成有关资源对象的状态指标,比如 Deployment、Node、Pod,需要注意的是 kube-state-metrics 只是简单提供一个 metrics 数据,并不会存储这些指标数据,所以我们可以使用 Prometheus 来抓取这些数据然后存储。
  4. metrics-server:metrics-server 也是一个集群范围内的资源数据聚合工具,是 Heapster 的替代品,同样的,metrics-server 也只是显示数据,并不提供数据存储服务。

. kube-state-metrics 和 metrics-server 之间还是有很大不同的,二者的主要区别如下:

  1. kube-state-metrics 主要关注的是业务相关的一些元数据,比如 Deployment、Pod、副本状态等
  2. metrics-server 主要关注的是资源度量 API 的实现,比如 CPU、文件描述符、内存、请求延时等指标。

猜你喜欢

转载自blog.csdn.net/zhangshaohuas/article/details/108559205
今日推荐