安装Prometheus Operator
目前网上主要有两种安装方式,分别为:1. 使用kubectl基于manifest进行安装 2. 基于helm3进行安装。第一种方式比较繁琐,需要手动配置yaml文件,特别是需要配置pvc相关内容时,涉及到的yaml文件太多,故本文选用第二种基于helm安装的方式。
下面开始重点介绍安装流程,其实安装过程可以概括为以下几点:
- 配置服务类型,主要是altermanager/prometheus/grafana这三个服务,如果想在浏览器访问,就需要进行服务类型的配置,默认情况使用的是ClusterIP,这样无法在浏览器中访问,这里我们使用LoadBalancer和ingress的方式配置服务,这样我们就可以使用域名和IP:Port进行访问。关于ingress与LoadBalaner的部署可以参考 第二篇:k8s之ingress-nginx-controller与metallb部署
- 持久化存储的使用,默认安装没有配置持久化存储,默认情况是安装到部署的节点本地,这里会有数据丢失的风险,生产环境下需要配置自己的持久化存储,我这里使用的是ceph rbd作为storageclass,如果没有安装ceph csi, 可以参考我之前的文章 第三篇:k8s之容器存储接口(CSI)ceph-csi-rbd部署
配置altermanager/prometheus/grafana三个服务
服务类型配置
将这个服务的类型由ClusterIP改成LoadBalancer
分别在这三个服务对应的session下找到service项进行如下配置
prometheus:
...
service:
...
type: LoadBalancer
将grafana的服务开启并配置ingress,公司内部通过域名访问
修改grafana配置下的ingress选项,开启功能,并配置hosts
grafana:
...
ingress:
enable: true
...
hosts: [monitor.prod.wuyacapital.com]
所有Pod绑定到master节点 (可选项,没有这方面的需求可以跳过)
为方便管理应用服务,将应用服务与每日作业计算任务进行区分,所有Pod均绑定到master类型的节点上,这里通过使用affinity进行配置对应的Pod.
所涉及的Pod主要包括:grafana
, kube-state-metrics
, prometheusOperator
, prometheus
, alertmanager
。其中 grafana
, kube-state-metrics
, prometheusOperator
由于没有S