docker-sock连接过多
本文最后更新于134 天前,其中的信息可能已经过时,如有错误请发送邮件到big_fw@foxmail.com

docker-sock连接过多,超过docker本身负载能力

1、起因

现场实施人员反馈拉不到镜像,无法更新,登录到节点后发现镜像可以拉取,describe发现已经调度到node2上,但是一直处于containercread的状态,也无日志。

2、解决思路

先排查节点资源问题,top,uptime,free -mh,df -h 发现节点资源使用情况并不高,节点资源限制,pod数量限制也未达到限制,查询docker本身日志无明显异常,查看kubelet日志发现有pod一直移除不掉,--force 删除一直处于移除状态的pod,节点依旧无法调度。

查看服务器发现有僵尸进程,与开发和现场实施人员交流确定可以重启僵尸进程的pod,kill之后依旧未恢复正常。

杀僵尸:

ps -e -o stat,ppid,pid,cmd | egrep '^[Zz]'
docker ps|grep xxx
ps awx | grep containerd-shim | grep xx
# kill the containerd-shim pid
kill xx

查询相关文档,可能是docker,sock连接过多。

lsof /var/run/docker.sock |wc -l

/var/run/docker.sock,挂载到容器内的/var/run/docker.sock。简单地说,它是Docker守护进程(Docker daemon)默认监听的Unix域套接字(Unix domain socket),容器中的进程可以通过它与Docker守护进程进行通信。

node2有7000+,其余节点只有十个以内。docker承载不住,夯住,于是决定重启docker,与医院确认处理时间,开始处理

3、处理方式:

1.临时放开max_replies_per_connection限制

vim /usr/share/dbus-1/session.conf
max_replies_per_connection = 100000
systmectl restart dbus

2.启动docker kubelet

systemctl restart docker
systemctl restart kubelet 

3.恢复max_replies_per_connection限制

vim /usr/share/dbus-1/session.conf
max_replies_per_connection = 50000
systmectl restart dbus
男孩子都是香香软软的小猪
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇