前提条件:安装好了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
网友评论