V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
zhoudaiyu
V2EX  ›  Docker

问问大家一个关于 docker exec 进到容器执行命令之前和执行完命令后退出都要卡 10s 以上的问题

  •  
  •   zhoudaiyu · 2022-07-07 22:24:49 +08:00 via iPhone · 1387 次点击
    这是一个创建于 869 天前的主题,其中的信息可能已经有所发展或是发生改变。
    先说一下环境:容器集群版本 Openshift Container Platform 3.11 ,Kubelet 1.12 ,docker 1.13.1 。每台 node 约运行 60 个 pod (约 120 个 docker 容器),运行一段时间后(几天到几个月不确定),通过 docker exec 进到容器执行命令,就得在执行前等 10 秒以上才能进去,执行命令很快,退出时,还得等 10 秒才能退出,就像卡住了一样,ctrl-c 也停不下来。exec 命令执行期间,docker 没有任何异常日志。现在已经通过 nsenter 进到进程命名空间( nsenter )和通过 docker API 直接和 dockerd 通信(均正常)排除了一部分干扰因素。唯一解决方法就是重启 dockerd ,别无他法。求大家给个排查的思路(或者解决方案),谢谢!
    第 1 条附言  ·  2022-07-08 08:42:38 +08:00

    补充一下 操作系统信息:RHEL 7.6的系统(约等于CentOS 7.6),内核是3.10版本的

    10 条回复    2022-07-08 11:14:07 +08:00
    corvofeng
        1
    corvofeng  
       2022-07-07 23:33:12 +08:00 via Android   ❤️ 3
    dem0ns
        2
    dem0ns  
       2022-07-07 23:42:01 +08:00
    @corvofeng 我也有个相似的域名,也是 my+学校缩写.cn
    zhoudaiyu
        3
    zhoudaiyu  
    OP
       2022-07-07 23:49:59 +08:00 via iPhone
    @corvofeng 谢谢大佬,不过这个感觉和 docker exec 慢不太一样呢,其实容器里面进程都跑得好好的,只是 exec 慢了。其他的 docker ps/inspect 啥的都正常的
    corvofeng
        4
    corvofeng  
       2022-07-07 23:59:31 +08:00 via Android
    @zhoudaiyu 我其实是想确认下内核速度是不是正常, 你可以多跑几次 time 看看
    zhoudaiyu
        5
    zhoudaiyu  
    OP
       2022-07-08 00:12:35 +08:00 via iPhone
    @corvofeng 好的,明天上班我试完了告诉你哦
    DAPTX4869
        6
    DAPTX4869  
       2022-07-08 08:52:37 +08:00
    @corvofeng #1 貌似图裂了
    zhoudaiyu
        7
    zhoudaiyu  
    OP
       2022-07-08 09:10:23 +08:00
    @corvofeng #1 按照你说的查了一下,time cat /proc/slabinfo 平均大约 0m0.07s 的样子,应该还算挺快的
    corvofeng
        8
    corvofeng  
       2022-07-08 09:10:34 +08:00
    @DAPTX4869 #6 证书问题, 我修了哈
    corvofeng
        9
    corvofeng  
       2022-07-08 09:33:04 +08:00
    @zhoudaiyu #7 你是用 root 用户读的吧, 普通用户没有权限读这个信息的

    docker exec 进出容器慢, 那 kubectl exec 会慢吗?

    或者直接在慢的机器上, 试试 dropcache 看看能不能恢复吧

    sync && echo 3 > /proc/sys/vm/drop_caches

    这种缓存缓慢释放, 可能会过几个小时才好
    zhoudaiyu
        10
    zhoudaiyu  
    OP
       2022-07-08 11:14:07 +08:00
    @corvofeng #9 同样会慢,因为最终还是通过 docker exec 进到容器中的
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1490 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 17:13 · PVG 01:13 · LAX 09:13 · JFK 12:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.