【问题标题】: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 上?

标签: kubernetes kubernetes-pod


【解决方案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 目录中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-10
    • 1970-01-01
    • 2019-12-05
    • 2013-04-05
    • 2015-05-31
    • 2019-12-08
    • 2020-12-20
    • 2019-10-04
    相关资源
    最近更新 更多