V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
cinlen
V2EX  ›  Linux

pod running 且始终没有重启过,但是无 ip, 有什么排查思路?

  •  
  •   cinlen · 158 天前 · 1309 次点击
    这是一个创建于 158 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如下所示:

    root@node1:~/cxl# kg po -A -l app=redis -o wide
    NAME                    READY   STATUS    RESTARTS   AGE   IP     
    redis-84dbddc47-77nsl   1/1     Running   0          4d    <none>
    

    pod 自然一开始是有 ip 的,但是有一天发现突然这个 pod running 但是 ip 消失了。

    cni 使用的是 multus + calico :

    • 这个 pod 的网卡, 相应的宿主机网卡, 宿主机 netns 都正常
    • 进入 pod 执行 ip addr 查看网卡和 ip 也还在
    • 查看 calico 的 ip 分配确认该 pod 仍拥有该 ip

    一切 ok , 唯独 pod.status.podIP 不见了。

    目前怀疑是 kubelet 更新 pod status 的时候把 ip 弄丢了(期间有重启过 kubelet ),但是没有复现,目前不清楚如何复现,暂时也没啥思路了。

    大佬们有遇到这个问题吗?或者有什么排查思路吗?

    7 条回复    2024-07-22 15:27:54 +08:00
    duanjiong
        1
    duanjiong  
       158 天前
    你这思路没问题啊, 就看看 kubelet 日志吧, 看看 kubelet 那部分更新状态的代码
    saka0609
        2
    saka0609  
       158 天前
    这种问题我也没碰到过
    multus 我用的不多, 这里有什么报错么?
    查出来了麻烦 @我下
    cinlen
        3
    cinlen  
    OP
       158 天前
    @duanjiong 日志没有太多可用线索, 所以思路断掉了
    guanzhangzhang
        4
    guanzhangzhang  
       158 天前
    pod 内的 ip ,本机和其他节点能否 ping 通
    发生频率高不高,是否是固定的节点
    是否升级过啥东西后出现的,例如 cni plugin ,或者更改过啥配置参数
    crictl inspect 从 CRI 协议去看看,对比看看
    cinlen
        5
    cinlen  
    OP
       155 天前
    @guanzhangzhang
    @saka0609

    错怪 kubelet 了,复现步骤是:

    1. 重启 containerd(cri) ,所有 pod 的网络信息被清理(通过 `crictl inspectp <pod id> | jq .info.cniResult` 查看)
    2. 重启 kubelet, kubelet 会去找 containerd 要所有 pod 的最新一手信息,containerd 此时会重新调用 cni 去要所有 pod 的网络信息
    3. 从 containerd 日志看, 所有 pod 都重新要到了 ip 唯独 redis 这个 pod 压根没有去要, 于是 kubelet 就把 redis 的 pod.status.podIP 更新为空了

    第 3 步暂时查不下去了,网络这块看的脑壳晕。
    saka0609
        6
    saka0609  
       155 天前
    @cinlen 这个 pod 为啥会没去要, 还是要到了发现这个 ip 并不可用而置空.
    debug 过程有记录吗, 我也想看看
    guanzhangzhang
        7
    guanzhangzhang  
       153 天前
    @cinlen #5 这个和网络无关阿,看着是 containerd 的问题,调试看看,我要是有你这个问题环境,说不定我还能混个开源 pr 修复下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2789 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 08:44 · PVG 16:44 · LAX 00:44 · JFK 03:44
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.