在k8s中利用Helm部署Prometheus+Grafana和Loki日志系统
背景
在初步的完成k8s集群的安装后,接下来需要做的事情之一便是为集群安装一套的Metrics和Log的监控系统。
通过Helm安装是最简单方便的方式,而Prometheus+Grafana 完成metircs的收集和可视化展示,已经是最成熟最原生的方案,没有之一了。
至于日志系统的收集和展示,Elastic Stack无疑是最好的方案,但是会比较的重占资源较多,所以暂时可以通过Loki+Grafana的模式来实现。
实施规划
1. 总体的规划思路
- 需要为Helm添加哪些repo,repo里的哪些相似的charts是最适合用来安装的?
- 是分开在不同Namespace里部署Prometheus+Grafana,Loki+Grafana 还是同一个命名空间部署Prometheus+Loki+Grafana?
2. 确认合适的Charts
对于安装任何的Helm repo,我们均可以直接到 https://artifacthub.io/ 去查找相应的publisher,然后在publisher下寻找需要安装的charts(所谓charts就是包含了一系列模板和配置的综合)。
在https://artifacthub.io/内,搜索 Prometheus,然后定位到Promethues的组织页面下,
在Prometheus下有需要的Charts,大部分是独立功能的,比如Premetheus,alertmanager 或者各类Prometheus的exporter, 但是有个“kube-prometheus-stack” 是官方专门针对Kube cluster的监控而推出的。
kube-prometheus-stack 是 Helm 官方社区维护 的一个 用于 Kubernetes 监控的 Helm Chart,用于 快速部署 一整套基于 Prometheus 和 Grafana 的 Kubernetes 监控方案。它包含了 完整的 Prometheus 生态系统,并且 自动配置 Kubernetes 监控指标。
部署规划和实施
确定了Prometheus+Grafana后,将Loki和其生态系统也部署在同一个Name Space,并和Prometheus作为同一个Grafana的不同data source来展示,将是比较优化的方案,尤其是在一个测试环境里。