news 2026/7/8 1:37:09

【故障排查】KubeSphere 无法连接:Connection Refused 与磁盘满导致的 API Server 崩溃

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【故障排查】KubeSphere 无法连接:Connection Refused 与磁盘满导致的 API Server 崩溃

目录

1. 故障背景

2. 排查过程

第一步:定位 API Server 状态

第二步:查看关键日志

3. 根本原因分析

4. 解决方案

4.1 紧急恢复(释放空间)

4.2 恢复集群

5. 防范建议(长治久安)

总结

💡 提示:

1. 故障背景

在运维 Kubernetes 集群或使用 KubeSphere 平台时,突然发现执行kubectl命令报错,返回如下错误信息:

Bash

The connection to the server lb.kubesphere.local:6443 was refused - did you specify the right host or port?

同时,查看kubelet日志发现大量connection refused报错,且伴随着容器启动失败的异常。


2. 排查过程

第一步:定位 API Server 状态

首先尝试检查控制平面组件的状态。由于 API Server 无法连接,我们登录 master 节点通过底层运行时查看:

Bash

# 如果是 Docker 环境 docker ps | grep kube-apiserver # 如果是 Containerd 环境 crictl ps | grep kube-apiserver

发现 API Server 容器处于Exited状态,或者在不断重启。

第二步:查看关键日志

查看系统日志journalctl -u kubelet -f/var/log/messages,发现了导致崩溃的“真凶”:

Plaintext

CreateContainerConfigError: "write /var/lib/kubelet/pods/.../etc-hosts: no space left on device" rsyslogd: file '/var/log/messages' write error - OS error: No space left on device

这表明:Master 节点的磁盘空间已完全耗尽,导致kubelet无法为 Pod 创建必要的配置文件(如etc-hosts),进而导致 API Server 无法启动。


3. 根本原因分析

磁盘满导致 K8s 崩溃通常由以下几个原因引起:

  1. 日志文件过大/var/log/messages/var/log/pods下的容器日志未配置滚动清理。

  2. 镜像堆积:长期未清理无用的中间镜像或老旧版本镜像。

  3. KubeSphere 日志组件压力:Fluentbit 或 Vector 在采集大量业务报错日志时,缓存可能占满磁盘。

  4. 未限制容器日志配置:Docker 默认不限制单个容器日志大小。


4. 解决方案

4.1 紧急恢复(释放空间)

在磁盘 100% 的情况下,首先要腾出空间让系统“喘口气”:

  1. 清理 Journal 日志(只保留最近 1 小时):

    Bash
    journalctl --vacuum-time=1h
  2. 清理无用镜像/容器

    Bash
    # Docker 环境 docker system prune -a -f # Containerd 环境 crictl rmi --prune
  3. 清空大文件(而非直接删除)

    使用>定位并清空日志文件,避免因进程占用导致空间无法释放。

    Bash
    find /var/log -type f -size +500M -exec sh -c '> "{}"' \;

4.2 恢复集群

空间释放后,重启相关服务:

Bash

systemctl restart kubelet

等待几分钟,待 API Server 镜像重新拉起后,执行kubectl get nodes验证集群恢复。


5. 防范建议(长治久安)

为了防止此类问题再次发生,建议进行以下优化:

  • 配置 Docker 日志滚动:在/etc/docker/daemon.json中加入限制。

    JSON
    { "log-driver": "json-file", "log-opts": { "max-size": "100m", "max-file": "3" } }
  • 磁盘预警:部署 Prometheus + Alertmanager 监控 master 节点的磁盘使用率,设置 80% 阈值报警。

  • 独立分区:建议将/var/lib/docker(或containerd) 挂载到独立的逻辑卷(LVM),防止容器数据撑爆系统盘。


总结

“Connection Refused” 只是表象,内核报错中的“No space left on device”才是根源。在维护 KubeSphere 等重型平台时,磁盘监控是稳定性的重中之重。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/1 13:05:00

Thinkphp和Laravel框架的校园点歌系统的设计与实现

目录摘要技术选型对比开发技术源码文档获取/同行可拿货,招校园代理 :文章底部获取博主联系方式!摘要 校园点歌系统是一种基于Web的应用程序,旨在为学生和教职工提供便捷的点歌服务,丰富校园文化生活。系统采用ThinkPHP或Laravel框…

作者头像 李华
网站建设 2026/7/1 22:22:04

沃伦·巴菲特的公司文化评估方法

沃伦巴菲特的公司文化评估方法 关键词:沃伦巴菲特、公司文化评估、投资决策、企业价值观、文化指标 摘要:本文深入探讨沃伦巴菲特的公司文化评估方法。从背景介绍入手,阐述其目的、预期读者等内容。详细剖析公司文化评估的核心概念与联系,给出原理和架构示意图。介绍核心算…

作者头像 李华
网站建设 2026/7/1 13:00:46

当导弹在天上玩漂移:手把手调教气动力控制

基于气动力的导弹姿态控制(含MATLAB仿真),提供基于气动力控制的导弹姿态控制律设计参考文献,同时提供MATLAB仿真源代码,源代码内包含定义导弹、大气、地球、初始位置、速度、弹道、姿态、舵偏角、控制律、飞行力学方程…

作者头像 李华
网站建设 2026/7/1 13:00:45

三相逆变器并网控制这玩意儿,玩的就是个电流环套娃。今儿咱们拆个电网电流外环+电容电流内环的骚操作,直接上硬货

三相并网逆变器双闭环控制,电网电流外环电容电流内环控制算法,matlab/Simulink仿真模型,有源阻尼,单位功率因数,电网电压和电流同相位。 先整个控制结构图镇楼(此处脑补Simulink模型截图)。核心…

作者头像 李华
网站建设 2026/7/1 21:36:28

Chrome现已集成Gemini,仅需4步即可开启。

大家好,我是岳哥。最近Google又将自家的Gemini集成到Chrome上去了,堪称史诗级更新,虽然之前也有不少厂商将AI集成到浏览器,例如微软的copilot。可以一遍刷着网页一边跟Gemini对话,就像这样。这是知乎上的一个帖子图片&…

作者头像 李华