問題描述:
登錄容器,執行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