Kubernetes 中使用 Helm 部署使用 Prometheus
使用 Helm 在 Kubernetes 中部署 Prometheus,并使用 Grafana 监控集群状态,Helm 版本为 Helm3
安装 Prometheus 和 Grafana
添加标准仓库
如果没有 stable 仓库,会提示找不到 prometheus-operator这个应用,需要先添加stable 仓库:
1 | helm repo add stable https://kubernetes-charts.storage.googleapis.com |
安装 Prometheus
使用参数指定配置
指定节点的端口用于在集群外的机器访问
1 | helm install prometheus stable/prometheus-operator \ |
指定配置文件安装
- 如果有需要自定义的配置,可以下载应用后修改
values.yaml,然后指定该配置文件进行安装
values.yaml
1 | prometheus: |
安装
1 | helm install prometheus stable/prometheus-operator -f values.yaml |
如果有更多配置项,可以通过下载 Helm 的安装包,解压后自己修改:
1 | helm fetch stable/prometheus-operator |
手动修改 SVC
如果在安装时没有指定使用节点端口,也可以手动修改 SVC,配置为节点端口:
修改 prometheus
1 | kubectl edit svc prometheus-prometheus-oper-prometheus |
将 spec.type修改为 NodePort,并添加nodePort到 spec.ports中
1 | spec: |
修改 Grafana
1 | kubectl edit svc prometheus-grafana |
1 | spec: |
配置监控
Prometheus 默认监控了 Kubernetes 和 Node,可以直接访问节点进行查看,如直接访问 http://192.168.199.2:30090/graph

使用 Prometheus 查询
通过 PromQL 查询指定的指标,可以查看数据所对应的图表,以节点 15分钟的 CPU 为例:可以直接输入node_load15查询,也可以从下拉框中选择,然后点击 Execute 生成图表:

使用 Grafana 查询
Prometheus 查询只能查看指定的指标,如果想要查看多个指标的聚合,或者更复杂的图表,就需要使用 Grafana 来配置查询
访问 Grafana 对应的节点,如http://192.168.199.2:30080/?orgId=1,会要求输入用户名密码,默认的用户名为 admin,如果没有指定grafana.adminPassword设置密码,则密码为prom-operator

配置自定义监控
点击左侧的加号,选择 Dashboard,添加新的查询,并输入相应的 PromQL 查询即可看到相应的指标

之后修改名称等其他设置,保存后就可以在面板中看到该监控了
导入监控面板
因为监控的配置项有很多,配置起来也很复杂,对于一些通用的监控,如节点的运行状态等,可以直接使用已有的面板作为监控
在https://grafana.com/grafana/dashboards 中选择需要的监控,并复制面板的 id,在Grafana 首页点击加号后选择导入,输入 id 即可导入已有的面板,如已 11074这个面板为例:


