首页 > 其他分享 >Apiserver -- 停掉问题排查

Apiserver -- 停掉问题排查

时间:2024-01-24 21:36:27浏览次数:25  
标签:apiserver -- 查询 Apiserver 磁盘空间 磁盘 docker kube 停掉

1. 错误

133环境中apiserver总是停掉,重启kubelet会让apiserver启动,但过一段时间就会停掉

kubectl get nodes
# ==> 错误 
The connection to the server 192.168.0.133:6443 was refused - did you specify the right host or port?

2. 排错过程

# 1. 查询apiserver进程 
ps -ef|grep apiserver 
# ==> 发现没有apiserver进程 

# 2. 查询其docker容器
docker ps -a|grep apiserver 
# ==> 输出 
12234b87a841 0e422c9884cf "kube-apiserver --ad…" 22 minutes ago Up 22 minutes k8s_kube-apiserver_kube-apiserver-192.168.0.133_kube-system_dbf1c86a253c240e893e1da9a14ca801_1 
038088bd719d 0e422c9884cf "kube-apiserver --ad…" 3 days ago Up 3 days k8s_kube-apiserver_kube-apiserver-192.168.0.133_kube-system_dbf1c86a253c240e893e1da9a14ca801_0 
61981a225cd0 system/pause:3.1 "/pause" 3 days ago Up 3 days k8s_POD_kube-apiserver-192.168.0.133_kube-system_dbf1c86a253c240e893e1da9a14ca801_0 
# ==> 发现有两个apiserver容器,容器状态显示为运行状态 

# 3. 查询容器日志 
docker logs 038088bd719d 
# ==> apiserver received an error that is not an metav1.Status: storage.InvalidError{Errs:field.ErrorList{(*field.Error)(0xc015010d80)}} 

# 4. 查询内核缓冲区信息 
demsg 
# ==> 输出 
[1121356.749901] systemd-journald[45]: Failed to open runtime journal: No space left on device 
[1121356.760059] systemd-journald[46]: Failed to open runtime journal: No space left on device 
[1121356.765980] systemd-journald[47]: Failed to open runtime journal: No space left on device 
# ==> 报设备上没有空间 

# 5. 查询磁盘使用情况 
df -h 
# 发现 / 目录磁盘使用量 100%

3. 问题原因

磁盘空间满

- docker会将容器镜像保持在本地目录,还需要将容器的状态信息保存到磁盘,发现磁盘满无法写入
- 类似问题:因磁盘空间满,无法进行磁盘写操作
  - 数据库无法插入记录
  - etcd无法同步数据
  - 日志无法写入

4. 解决方案

- 清理磁盘上无用、无效文件或日志文件,释放部分磁盘空间

- 对磁盘进行扩容
- 新增一块磁盘作为镜像存放空间

- 新增一个监控,在磁盘空间达到85%阈值时候进行报警通知

- 查询组件的日志滚动策略与数据保存压缩策略

- 考虑不同组件存储使用不同的分区方案,避免某个组件将磁盘空间写满导致影响其他组件正常运行 images(100G) maridb(100G以上) etcd(20-30G),这些需要一个单独的数据盘

5. 相关命令

# 1. 统计当前节点上镜像占用空间
# a. 查询 kb级别镜像
docker images |awk '{print $7}'|grep -i "k"
# b. 查询GB级别镜像
docker images |awk '{print $7}'|grep -i "g"
# c. 统计MB级别镜像
docker images |awk '{print $7}'|grep -i "m"|tr -d "MB"|awk '{sum+=$1};END {print(sum/1024.0, "G")}'

# 2. 查询目录文件占用磁盘空间大小
du / -h -d 1
# -h 将byte单位转换 M G可读单位
# -d 指定目录深度

标签:apiserver,--,查询,Apiserver,磁盘空间,磁盘,docker,kube,停掉
From: https://www.cnblogs.com/2bjiujiu/p/17985877

相关文章

  • 关于使用 npm的一些事(一)
    npmERR!codeCERT_HAS_EXPIREDnpmERR!errnoCERT_HAS_EXPIREDnpmERR!requesttohttps://registry.npm.taobao.org/cnpmfailed,reason:certificatehasexpirednpmERR!Acompletelogofthisruncanbefoundin:D:\nodejs\node_cache\_logs\2024-01-23T11......
  • Mysql报:ERROR 145 (HY000) at line 1: Table './mysq1/proc' is marked as crashed an
    版权声明:原创作品,谢绝转载!否则将追究法律责任。—————作者:kirin先看报错mysq1:[Marning]Usingapasswordonthecommandlineinterfacecanbeinsecure.ERROR145(HY000)atline1:Table'./mysq1/proc'ismarkedascrashedandshouldberepaired1、截图如......
  • 韩顺平java基础-13-常用类
    韩顺平java基础-13-常用类常用类包装类分类装箱和拆箱//自动装箱intn1=100;Integerinteger=intn1;//自动调用Integer.valueOf(n1)的方法//自动拆箱intn2=integer;//自动调用integer.intValue的方法包装类与String转换包装类型--->String类toString()......
  • NanoFramework操作ESP32(一)_基础元器件篇(二十二)_DHT11温湿度传感器
    一、元器件介绍1、针脚用途编号名称功能1VCC电源正2TRIG触发控制信号输入3ECHO回响信号输出4GND电源地2、电气参数 二、示例代码1、代码:元器件的针脚ESP32模块的针脚VCC;供电脚+5VTRIG;发送脚IO17ECHO;接收脚IO16GND......
  • Codeforces Round 170 (Div. 1)A. Learning Languages并查集
    如果两个人会的语言中有共同语言那么他们之间就可以交流,并且如果a和b可以交流,b和c可以交流,那么a和c也可以交流,具有传递性,就容易联想到并查集,我们将人和语言看成元素,一个人会几种语言的话,就将这些语言和这个人所在的集合合并,最后求一下人一共在几个连通块中,连通块的个数-1就是答案,......
  • 1.24 两道树上问题的解法与思考
    内容过于简单,勿喷。1.1P6072Path(双log)选择两条简单路径,满足没有重合的点,且边权异或和之和最大。\(n\le10^5\)。我们可以把问题转化为选出一个\(u\),令在子树内选出两个点的异或和最大为\(f_u\),子树外为\(g_u\),那么我们需要求\(f_u+g_u\)的最大值。首先,通过DSUont......
  • JK技术汇总
    一、概述自从十几年前开启技术生涯之初,便有写此文的想法,尽管在那时想来是一件很好笑的事情。人生匆匆数载年月,总需要留下来点什么,才不虚此行,告慰自己也好,或许可能助于他人也好。我们总是忙碌着,一直很忙很忙,下班后一身疲惫,甚至于节假日都无法休息,总之就是很忙。这种忙碌的人生......
  • 代码重构技巧
    1、面向对象类封装性,避免属性直接赋值,而应该使用方法暴露#1改造前publicvoidapprove(finallongbookId){...book.setReviewStatus(ReviewStatus.APPROVED);...}#2改造后publicvoidapprove(finallongbookId){...book.approve();...}2、复数命名:不使用Lis......
  • 春招大扫盲,你想知道的都在这了!
    本文首发自公粽hao「林行学长」,欢迎来撩,免费领取20个求职工具资源包。了解校招、分享校招知识的学长来了!对于即将毕业的大学生来说,春招是一个关键的节点,但是不少同学脑袋里关于春招那是一片空白。不少同学都期待着能在毕业前有个好工作,咱们废话不多说,这就跟着林行学长一起来学习春......
  • C# 方法详解:定义、调用、参数、默认值、返回值、命名参数、方法重载全解析
    C#Methods方法是一段代码,只有在调用时才会运行。您可以将数据(称为参数)传递给方法。方法用于执行某些操作,也被称为函数。为什么使用方法?为了重用代码:定义一次代码,然后多次使用。创建一个方法方法的定义以方法的名称开头,后跟括号()。C#提供了一些预定义的方法,您已经熟悉,例如M......