问题描述:
登录容器,执行ps命令查看进程时,报错/proc挂载问题,如下图,按照图上所说在/etc/fstab 下添加,还是报错
思路:
可能是lxcfs挂了或者hang住了,具体要登录k8s节点实例查看
解决方案:
1、查看lxcfs状态
systemctl status lxcfs.service
2、先重启lxcfs,如果lxcfs 重启起不了的,可以ps -eLf | grep lxcfs查看一下lxcfs的进程,如果父进程是1的话说明卡在进程回收了,kill掉进程号然后重启一下lxcfs就可以了
systemctl restart lxcfs.service
3、问题分析
1)查看线程数,可能是线程数太高导致宿主机负载太高,lxc hang住(一般是java程序)
cd /sys/fs/cgroup/pids/kubepods && find -name pids.current |grep pod |xargs -I file sh -c 'echo -e file" \c" && cat file'|awk '$2 > 10000'
2)查看io,可能是磁盘问题导致,(如下,磁盘io小但是使用率很高)这个需要修复磁盘了,重启不了进程
iostat -dmx 1 sdb
3)还有一种情况是,容器表现为/proc问题,可是查看lxcfs状态是running,这时可以查看下waiting状态,若出现一直有非0的,可以重启lxcfs试试(线上环境慎用)
cat /sys/fs/fuse/connections/*/waiting