记录 K8S 挂了的解决经过

背景:早上到公司,有同事反馈部署K8S在集群上的 Redis 和 禅道 都不可用

排查循序:

  1. 登录 kubesphere 的 web 界面 (界面打开失败)
  2. ssh 登录主服务器 (正常)
  3. 在主服务器上运行 kubectl get node 命令,报错 The connection to the server lb.kubesphere.local:6443 was refused - did you specify the right host or port? (不正常)
  4. 执行 docker ps -a,发现大量容器状态为 Exited (不正常)
  5. 执行 free 命令,可用空间足够 (正常)
  6. 执行 df -h 命令,发现有一个挂载 100%,目录为 /dev/mapper/centos-var (发现疑点

为了确认是不是这个问题导致,决定删除该目录下的一些文件

首先了解 /dev/mapper/centos-var 目录的作用

在Linux系统中,/dev/mapper/centos-var是一个设备映射(Device Mapper)的路径,它通常用于存储逻辑卷管理器(Logical Volume Manager,LVM)中的逻辑卷。

LVM是一种在Linux系统上进行磁盘管理的技术,它允许您将多个物理磁盘合并成一个或多个逻辑卷,并提供了更灵活的磁盘空间管理和扩展能力。

/dev/mapper/centos-var 表示一个逻辑卷,其中的"centos-var"是逻辑卷的名称。逻辑卷是由物理卷(Physical Volume)组成的,物理卷可以是磁盘分区、磁盘或者软件RAID等。逻辑卷可以被格式化并挂载到文件系统上,以供用户存储数据。

在这种情况下,/dev/mapper/centos-var很可能是CentOS操作系统中/var目录的逻辑卷。/var目录通常用于存储可变的数据,例如日志文件、数据库文件、缓存等。通过将/var目录放置在逻辑卷上,可以方便地对其进行管理、扩展和备份。

请注意,具体的用途可能因系统配置和需求而有所不同。如果您想详细了解该逻辑卷的具体用途,可以查看系统的LVM配置文件或者运行lvdisplay命令来获取更多信息。

解决方案:
删除一些日志文件,即删除 /var/log/ 下的一些文件,删除后 docker 自动重启成功

你可能感兴趣的:(K8S,kubernetes,容器,云原生)