一 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 查看圖形信息