K8S节点磁盘空间不足导致502错误的排除

业务系统出现502错误,k8s dashboard也上不去了,执行命令

复制代码
kubectl get all -n kubernetes-dashboard

发现很多evicted pod

业务pod基本正常,但进不去,估计是ingress的问题。于是查看ingress-controller节点的磁盘空间,发现只剩下14%了,而k8s缺省要求有15%以上,估计是节点空间不足,把ingress-controller部署到其它节点了,于是,清理一些日志:

复制代码
# 1. 删除所有已停止容器的日志文件
find /var/lib/docker/containers -name "*.log" -type f -delete

# 2. 清理7天前的日志
find /var/lib/docker/containers -name "*.log" -type f -mtime +7 -delete

# 3. 清理大于100M的日志文件
find /var/lib/docker/containers -name "*.log" -type f -size +100M -delete

# 4. 安全清理(保留最近文件)
find /var/lib/docker/containers -name "*.log" \
  -type f \
  -mtime +30 \
  -exec rm -f {} \;

#5 删除Evicted节点
kubectl delete pods --all-namespaces --field-selector=status.phase=Failed

再看磁盘空间有17%了,接着就生启ingress pod吧

复制代码
kubectl rollout restart deployment -n ingress-nginx

再看业务系统正常了。

接下来就是扩充磁盘,减少日志等工作了。

复制代码
# 查看节点是否处于磁盘压力状态
kubectl describe node <node-name> | grep -i "diskpressure"

# 查看事件
kubectl get events --field-selector involvedObject.kind=Node,involvedObject.name=<node-name>
相关推荐
AAA@峥18 小时前
容器数据不丢失:Docker 分层存储 + Volume 共享、备份迁移完整指南
运维·docker·容器
十年磨一剑~19 小时前
docker 为何每次 docker tag才能 docker push
docker·容器·eureka
gs8014021 小时前
记一次多 Agent 架构在单节点 K8s 触发的 PID 耗尽与 Pod 驱逐(Evicted)大摸排
容器·架构·kubernetes
bukeyiwanshui1 天前
20260701 k8s Metric Server
容器·贪心算法·kubernetes
江湖有缘1 天前
基于Docker环境部署tillywork开源工作管理工具
docker·容器·开源
鸿儒5171 天前
MR-50国产化GPU docker配置方法
docker·容器·mr
Zhu7581 天前
在k8s集群部署ApacheHadoop单节点单数据副本
云原生·容器·kubernetes
Akamai中国1 天前
Akamai收购安全企业浏览器提供商LayerX
人工智能·云原生·云计算·云服务
摇滚侠1 天前
云原生 Java 架构师的第一课 K8s+Docker+KubeSphere+DevOps 51-60
java·云原生·kubernetes