节点资源不足:临时存储

Posted

技术标签:

【中文标题】节点资源不足:临时存储【英文标题】:The node was low on resource: ephemeral-storage 【发布时间】:2020-05-11 09:25:39 【问题描述】:

由于“”,节点的所有 pod 都处于 Evicted 状态。

portal-59978bff4d-2qkgf                            0/1     Evicted   0          14m
release-mgmt-74995bc7dd-nzlgq                      0/1     Evicted   0          8m20s
service-orchestration-79f8dc7dc-kx6g4              0/1     Evicted   0          7m31s
test-mgmt-7f977567d6-zl7cc                         0/1     Evicted   0          8m17s

任何人都知道它的快速修复。

【问题讨论】:

您是如何设置集群的,它位于公共云还是 Prem 上? 【参考方案1】:

在没有存储配额的情况下使用emptyDir 卷的 Pod 将填满此存储空间,并出现以下错误:

eviction manager: attempting to reclaim ephemeral-storage

设置配额limits.ephemeral-storage, requests.ephemeral-storage 来限制这一点,否则任何容器都可以将任意数量的存储写入其节点文件系统。

资源配额定义示例

apiVersion: v1
kind: ResourceQuota
metadata:
  name: compute-resources
spec:
  hard:
    pods: "4" 
    requests.cpu: "1" 
    requests.memory: 1Gi 
    requests.ephemeral-storage: 2Gi 
    limits.cpu: "2" 
    limits.memory: 2Gi 
    limits.ephemeral-storage: 4Gi

此问题的另一个原因可能是日志文件占用磁盘空间。检查这个question

【讨论】:

感谢您的快速响应我没有得到这个,这是否也会限制持久卷声明? No..this 适用于使用 emotyDir 的卷: 请查看下面的 pod 详细信息,隐含地没有声明卷 容器:-image: $nexusrepo_pull_162/service_orchestration:develop imagePullPolicy: Always name: service-orchestration resources: limits: cpu: 400m内存:2Gi 临时存储:2Gi 请求:cpu:200m 内存:400Mi 临时存储:500Mi 你能检查一下你是否在 pod 中生成了大量的日志吗?【参考方案2】:

您可以增加附加的 EBS 卷的大小并重新启动 EC2 实例以达到该效果。

【讨论】:

你能发布一些关于如何实现这一目标的信息吗?这将有助于加强答案。【参考方案3】:

发生此问题是由于在处理(例如应用程序处理其作业并存储临时缓存数据)时缺少临时存储。要解决此问题,您必须深入您的 pod,并通过命令 df-h 检查运行哪个设备位置的进程何时消耗您的可用存储空间,并观察可用容量大小。您可以创建一个较大的 pvc(使用主机路径或其他方式)并挂载到存储其临时数据的 pod 目录中。

【讨论】:

以上是关于节点资源不足:临时存储的主要内容,如果未能解决你的问题,请参考以下文章

Azure 存储资源管理器 - 资源类型访问不足

Linux下磁盘空间不足的小结

电脑上显示“没有足够的内存运行此程序”,以及“系统资源严重不足”是怎么回事?怎么样解决?

电脑上显示“没有足够的内存运行此程序”,以及“系统资源严重不足”是怎么回事?怎么样解决?

oracle数据太大,增加索引时报资源不足怎么办

FlinkFlink 资源不足 导致 提交卡死 一直处于 创建中 Memory Reserved 预留的内存