0

0

kubectl logs -f 卡住不输出日志或显示 "connection refused"

舞姬之光

舞姬之光

发布时间:2026-01-22 19:44:03

|

387人浏览过

|

来源于php中文网

原创

kubectl logs -f卡住或报connection refused,主因是客户端无法连接kubelet或容器运行时,即通信链路中断或配置异常;需检查Pod状态、kubelet运行及10250端口监听、API Server与kubelet证书和网络连通性。

kubectl logs -f 卡住不输出日志或显示 \

kubectl logs -f 卡住、无输出,或报错 connection refused,通常不是日志本身为空,而是客户端无法成功连接到 kubelet 或容器运行时。核心问题出在 **通信链路中断或配置异常**,而非应用日志没产生。

检查 Pod 是否处于 Running 状态且已就绪

如果 Pod 还在 Pending、ContainerCreating、CrashLoopBackOff 或 Terminating 状态,kubectl logs 可能无法建立连接或找不到有效容器:

  • 运行 kubectl get pod -n ,确认 STATUSRunning,且 READY 列显示 1/1(或对应容器数)
  • 若为 0/1,说明容器未启动成功,先查 kubectl describe pod 中的 Events 和 Container Statuses
  • 注意:Init 容器失败也会阻塞主容器启动,导致日志不可用

验证 kubelet 是否正常运行并监听 10250 端口

kubectl logs 实际通过 API Server 转发请求到节点上的 kubelet(默认使用 HTTPS + 10250 端口)。若 kubelet 崩溃、未启动或端口被防火墙拦截,就会出现 connection refused:

Powtoon
Powtoon

AI创建令人惊叹的动画短片及简报

下载
  • 登录对应节点,执行 systemctl status kubelet,确保状态为 active (running)
  • 检查端口监听:ss -tlnp | grep :10250netstat -tuln | grep :10250
  • 若端口未监听,查看 kubelet 日志:journalctl -u kubelet -n 100 --no-pager,常见原因包括证书过期、配置错误(如 --read-only-port=0 关闭了只读端口但未配好安全端口)、或磁盘/内存资源耗尽

确认 API Server 能与 kubelet 正常通信

即使 kubelet 在运行,API Server 也可能因证书、网络策略或代理设置无法访问它:

  • API Server 需要 kubelet 的客户端证书(一般位于 /var/lib/kubelet/pki/)来建立 TLS 连接;证书过期或 CN/SAN 不匹配会导致握手失败
  • 检查 kubelet 启动参数中是否含 --kubeconfig,且该 kubeconfig 中的 server 地址(通常是 https://127.0.0.1:6443)可通
  • 若集群启用了 NodeRestriction 准入控制器,需确保 kubelet 使用的证书符合节点鉴权要求(如 CN 格式为 system:node:
  • 云环境(如 EKS、AKS)中,节点安全组/NSG 必须放行控制平面到节点 10250 端口的入向流量

尝试绕过 API Server 直连 kubelet(仅限调试)

当怀疑是 API Server → kubelet 链路问题时,可手动模拟请求,快速定位:

  • 获取目标节点 IP 和 Pod 所在节点:kubectl get pod -o wide
  • 在控制平面节点或能访问节点网络的机器上,执行(替换 NODE_IPNODE_NAMEPOD_NAMESPACEPOD_NAME):
    curl -k --cert /var/lib/kubernetes/kubelet-client-current.pem --key /var/lib/kubernetes/kubelet-client-current.pem "https://NODE_IP:10250/logs/?log=POD_NAMESPACE/POD_NAME"
    (路径和参数依 kubelet 版本略有差异,v1.20+ 推荐用 /logs/ 子路径)
  • 若直连成功但 kubectl logs 失败,问题大概率出在 API Server 配置或其与 kubelet 的证书信任关系

相关专题

更多
curl_exec
curl_exec

curl_exec函数是PHP cURL函数列表中的一种,它的功能是执行一个cURL会话。给大家总结了一下php curl_exec函数的一些用法实例,这个函数应该在初始化一个cURL会话并且全部的选项都被设置后被调用。他的返回值成功时返回TRUE, 或者在失败时返回FALSE。

436

2023.06.14

linux常见下载安装工具
linux常见下载安装工具

linux常见下载安装工具有APT、YUM、DNF、Snapcraft、Flatpak、AppImage、Wget、Curl等。想了解更多linux常见下载安装工具相关内容,可以阅读本专题下面的文章。

175

2023.10.30

Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

24

2025.12.22

Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

24

2025.12.22

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2023

2024.08.16

Golang 性能分析与pprof调优实战
Golang 性能分析与pprof调优实战

本专题系统讲解 Golang 应用的性能分析与调优方法,重点覆盖 pprof 的使用方式,包括 CPU、内存、阻塞与 goroutine 分析,火焰图解读,常见性能瓶颈定位思路,以及在真实项目中进行针对性优化的实践技巧。通过案例讲解,帮助开发者掌握 用数据驱动的方式持续提升 Go 程序性能与稳定性。

8

2026.01.22

html编辑相关教程合集
html编辑相关教程合集

本专题整合了html编辑相关教程合集,阅读专题下面的文章了解更多详细内容。

51

2026.01.21

三角洲入口地址合集
三角洲入口地址合集

本专题整合了三角洲入口地址合集,阅读专题下面的文章了解更多详细内容。

27

2026.01.21

AO3中文版入口地址大全
AO3中文版入口地址大全

本专题整合了AO3中文版入口地址大全,阅读专题下面的的文章了解更多详细内容。

354

2026.01.21

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
HTML5/CSS3/JavaScript/ES6入门课程
HTML5/CSS3/JavaScript/ES6入门课程

共102课时 | 6.8万人学习

前端基础到实战(HTML5+CSS3+ES6+NPM)
前端基础到实战(HTML5+CSS3+ES6+NPM)

共162课时 | 19万人学习

第二十二期_前端开发
第二十二期_前端开发

共119课时 | 12.5万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号