You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

kubectl logs执行后挂起并触发I/O超时错误的问题求助

问题排查与解决

问题现象

执行kubectl logs nginx时挂起后报错:

ubuntu@ip-172-31-12-195:~$ kubectl logs nginx
Error from server: Get "https://172.31.6.112:10250/containerLogs/default/nginx/nginx": dial tcp 172.31.6.112:10250: i/o timeout

集群Pod信息:

ubuntu@ip-172-31-12-195:~$ kubectl get pods -o wide
NAME    READY   STATUS    RESTARTS   AGE   IP              NODE              NOMINATED NODE   READINESS GATES
nginx   1/1     Running   0          62m   192.168.43.76   ip-172-31-6-112   <none>           <none>

排查方向及解决办法

1. 控制节点到工作节点的10250端口连通性问题

172.31.6.112:10250是kubelet的API端口,控制平面需通过该端口获取容器日志:

  • 在执行kubectl的控制节点(ip-172-31-12-195)上测试端口连通性:
    nc -zv 172.31.6.112 10250
    # 或
    telnet 172.31.6.112 10250
    
  • 如果测试失败,先验证节点间基础网络:
    ping 172.31.6.112
    

2. 防火墙/安全组拦截

  • 工作节点本地防火墙:登录工作节点ip-172-31-6-112,检查iptables规则是否允许10250端口入站:
    sudo iptables -L -n | grep 10250
    
    若没有允许规则,添加对应规则:
    sudo iptables -A INPUT -p tcp --dport 10250 -j ACCEPT
    
  • 云环境安全组:如果是云厂商集群,检查工作节点安全组是否开放10250端口给控制节点IP段。

3. kubelet服务异常或配置错误

  • 登录工作节点ip-172-31-6-112,检查kubelet运行状态:
    sudo systemctl status kubelet
    
    若服务未运行或异常,重启kubelet:
    sudo systemctl restart kubelet
    
  • 检查kubelet配置,确认监听地址是否允许控制节点访问:
    查看配置文件(通常路径为/var/lib/kubelet/config.yaml或/etc/kubernetes/kubelet.conf),确保address字段设置为0.0.0.0或节点内网IP,而非仅本地回环地址。

4. 网络策略或CNI插件问题

  • 检查当前命名空间的网络策略是否阻断控制平面到节点的通信:
    kubectl get networkpolicies
    
    如有限制策略,调整规则以允许控制节点IP访问工作节点10250端口。
  • 检查CNI插件状态,确保网络组件正常运行:
    kubectl get pods -n kube-system
    
    查看flannel、calico等CNI相关Pod是否处于Running状态,如有异常,重启对应Pod或重新部署CNI插件。

内容的提问来源于stack exchange,提问作者Philoxopher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.15 05:10:06