运行环境:
系统centos7.5
docker 1.13(已安装)
cadvisor 从docker公共仓库获取最新版本
kubernetes 1.5.2 (已安装)
一、k8s安装
在1.2的时候,kubernetes的监控需要在node节点上运行cAdvisor作为agent收集本机和容器的资源数据,包括cpu、内存、网络、文件系统等。在新版的kubernetes中,cAdvisor被集成到kubelet中。通过netstat可以查看到kubelet新开了一个4194的端口,这就是cAdvisor监听的端口,现在我们然后可以通过http://:4194的方式访问到cAdvisor。
直接访问http://:4194即可
二、单独安装
安装命令
sudo docker run --volume=/:/rootfs:ro --volume=/var/run:/var/run:rw --volume=/sys:/sys:rw \
--volume=/var/lib/docker/:/var/lib/docker:ro --volume=/dev/disk/:/dev/disk:ro --publish=8090:8080 \
--detach=true --privileged=true --name=cadvisor google/cadvisor:latest
cAdvisor的安装与使用
sudo docker run \
--volume=/:/rootfs:ro \
--volume=/var/run:/var/run:rw \
--volume=/sys:/sys:ro \
--volume=/var/lib/docker/:/var/lib/docker:ro \
--publish=8090:8080 \
--detach=true \
--name=cadvisor \
google/cadvisor
#四个-v挂载操作不能省,如果不挂载,将无法连接到docker deamon
#--detach后台运行
安装完成之后,可以登录localhost:8090查看主机信息以及容器的资源使用情况
安装完成就可以访问了
打开对外的8090端口目标机: http://xxx.xxx.xxx.137:8090/即可访问
三、问题
发现容器没有正常启动,查看日志,有如下报错内容:
Failed to start container manager: inotify_add_watch
/sys/fs/cgroup/cpuacct,cpu: no such file or directory
解决方法,执行:
mount -o remount,rw '/sys/fs/cgroup'
ln -s /sys/fs/cgroup/cpu,cpuacct /sys/fs/cgroup/cpuacct,cpu