Kubernetes 集群监控

一、监控方案概述
目前 Kubernetes 的常用监控方案是 Prometheus+Grafana 的方式。部署方法使用的是使用 operator,可以直接通过 helm 命令直接部署。
什么是 Operator
简单的说,Operator 是基于 Kubernetes 环境做的一个扩展。这个扩展相当于把某个环境需要的所有依赖全部打包,部署到 Kubernetes 环境中。常见的如 Prometheus Operator、InfluxDB Operator 等都是开源可以直接使用,如果需要自己做拓展,需要自己编写代码。
Prometheus 是云原生环境下最常用的监控工具。监控数据由 exporter 搜集,通过 prometheus 采集,写入到本地/远端数据库中,然后使用 Grafna 作为 UI 展示。考虑到存储数据的量级,一般都选择远端 InfluxDB 存储。更多 Prometheus 的监控内容可以参考 Prometheus 官网介绍。
二、Prometheus operator 部署
对于是 Kubernetes v1.20.x 之前的版本,请查看 Kubernetes compatibility matrix 获取支持的版本。
1,获取 kube-prometheus
如果克隆不行可以下载 zip 包:
github.com/prometheus-operator/kube-prometheus/archive/main.zip
2,部署
查看是否创建 namespace 和 CRDs

查看部署是否正常:


安装完后,找了个 grafana 模板。

三、其他监控
上面提到的监控更多的是,集群的资源的基础监控。实际上生产集群在整个运行过程中,还增加了对 ETCD 集群的监控(如读写指标)、集群 Master 监控(多 master)、外部存储监控等。另外 kube-dashbord 页面也是可以看到 CRD 资源的状态。监控涉及的内容需要根据需求而定,这里不做细节上的描述,prometheus 监控方法可以参考我之前的文章。
版权声明: 本文为 InfoQ 作者【Rayzh】的原创文章。
原文链接:【http://xie.infoq.cn/article/5cebb3c15d9b10a3aa66ae24d】。文章转载请联系作者。
评论