前提条件:安装好了metrics
- 下载需要的配置文件
git clone https://github.com/ielepro/k8s-prometheus-grafana
- 先部署
node_exporter
prometheus通过HTTP周期性抓取指标数据,监控目标上用于接受并响应的数据抓取请求的组件统称为export。prometheus为监控类UNIX操作系统提供了一个专用的node_exporter程序,能够收集多种指标数据,k8s中运行为守护进程监听在9100端口,通过url路径/metrics提供数据。
~]# cd k8s-prometheus-grafana/
~]# ls
grafana node-exporter.yaml prometheus README.md
~]# kubectl apply -f node-exporter.yaml
- 部署
prometheus
我自己部署过程中遇到的坑:
因为主机配置比较差,但prometheus.deploy.yml里面定义的resources的limits又比较大,导致一部署memory与cpu就被占满,然后kube-scheduler-master与kube-controller-manager-master一直重启,最后非常卡,只能关机重启解决,所以建议如果自己的主机资源不太多,可以适当的改一下这个资源限制。
比如我的配置:
---
spec:
spec:
containers:
...
resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: 100m
memory: 150Mi
...
等node_exporter启动成功运行后,就可以一键部署prometheus了
~]# kubectl apply -f prometheus
~]# kubectl get pod -n kube-system
NAME READY STATUS RESTARTS AGE
metrics-server-5f78f74857-vq8db 1/1 Running 3 21h
node-exporter-6tzrm 1/1 Running 2 15h
prometheus-79bc5658d4-4gn28 1/1 Running 1 104m