一 Cadvisor介绍
GitHub地址:https://github.com/google/cadvisor
cadvisor由谷歌开源,cadvisor不仅可以搜集一台机器上所有运行的容器信息,还提供基础查询界面和http接口,方便其它组件如Prometheus进行数据抓取,cadvisor可以对节点机器上资源及容器进行实时监控和性能数据采集,包括cpu使用情况、内存使用情况、网络吞吐率及文件系统使用情况。
k8s 1.12之前cadvisor集成在node节点的kubelet服务中,从1.12版本开始分离为两个组件,因此需要在node节点单独部署cadvisor。
二 Cadvisor镜像准备
root@k8s-harbor-01:~# docker pull gcr.io/cadvisor/cadvisor:0.38.8
root@k8s-harbor-01:~# docker tag gcr.io/cadvisor/cadvisor:v0.38.8 192.168.174.120/baseimages/cadvisor:v0.38.8
root@k8s-harbor-01:~# docker push 192.168.174.120/baseimages/cadvisor:v0.38.8
三 启动Cadvisor容器
root@k8s-node-01:~# docker run --restart=always --volume=/:/rootfs:ro --volume=/var/run:/var/run:ro --volume=/sys:/sys:ro --volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8080:8080 --detach=true --name=cadvisor --privileged --device=/dev/kmsg 192.168.174.120/baseimages/cadvisor:v0.38.8
四 验证Cadvisor web界面
五 Prometheus采集Cadvisor数据
5.1 修改Prometheus.yml
root@prometheus-01:~# cat /usr/local/prometheus/prometheus.yml
。。。。。
-
job_name: "prometheus-containers"
static_configs:
-
targets: ['192.168.174.106:8080']
5.2 重启Prometheus
root@prometheus-01:~# systemctl restart prometheus
六 验证Prometheus数据
七 Prometheus可视化
7.1 grafana添加模板
推荐模板ID:395 893
7.2 查看图形信息