You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Kubernetes Pod ephemeral-storage配额超限1280Mi问题咨询

问题原因与ephemeral-storage配额计算规则

1280Mi的计算逻辑

报错中的总请求值计算方式为:

  • 基础值:容器配置中显式声明的ephemeral-storage limits值1Gi,换算为二进制单位即1024Mi
  • 追加值:256Mi的默认临时存储预留配额

两者相加刚好为1280Mi,超出命名空间设定的1Gi硬限,因此Pod在准入阶段被拒绝。

256Mi的追加值来自Kubernetes ResourceQuota插件的默认统计逻辑:当Pod中存在未显式配置sizeLimit的临时存储卷时,插件会自动追加固定额度的预留配额,避免Pod运行时无限制占用节点临时存储。你当前集群的默认预留值为256Mi/Pod,和挂载的临时卷数量无关。

存储卷对ephemeral-storage配额的占用规则

Kubernetes确实会为部分类型的挂载卷额外统计ephemeral-storage配额,具体规则如下:

  • 计入ephemeral-storage配额的卷类型:
    • 默认磁盘模式的emptyDir卷
    • 非subPath方式挂载的configMap、secret、downwardAPI、projected类临时卷
    • 容器运行时产生的日志、容器可写层写入的文件
  • 配额统计规则:
    • 如果上述临时卷显式配置了sizeLimit字段,ResourceQuota会将所有卷的sizeLimit值累加,再加上所有容器声明的ephemeral-storage requests/limits值,作为Pod的总ephemeral-storage请求值做配额校验
    • 如果临时卷未配置sizeLimit,ResourceQuota会使用集群/命名空间预置的默认值统计配额;未配置预置默认值时,部分旧版本Kubernetes会追加固定预留额度(即你遇到的256Mi场景),新版本则按0统计,但Pod运行时临时存储用满会直接触发kubelet驱逐
    • subPath方式挂载的configMap/secret不会单独统计卷配额,其文件拷贝占用的空间计入容器可写层,已经包含在容器声明的ephemeral-storage配额内
  • 不计入ephemeral-storage配额的卷类型:
    • 绑定持久卷声明(PVC)的存储,占用requests.storage类别的持久存储配额
    • 配置medium: Memory的emptyDir内存盘,占用内存资源配额

修复方案

二选一即可:

  1. 调大命名空间general-resourcequota中limits.ephemeral-storage的硬配额至1.3Gi以上,覆盖默认预留额度
  2. 为所有emptyDir卷显式配置合理的sizeLimit,同时调整容器的ephemeral-storage声明值,保证两者总和不超过1Gi配额,参考配置:
containers:
  resources:
    limits:
      ephemeral-storage: "768Mi"
    requests:
      ephemeral-storage: "768Mi"
volumes:
  - name: app-logs
    emptyDir:
      sizeLimit: 80Mi
  - name: app-tmp
    emptyDir:
      sizeLimit: 80Mi
  - name: app-backups
    emptyDir:
      sizeLimit: 96Mi

上述配置总ephemeral-storage占用为768+80+80+96=1024Mi即1Gi,刚好满足配额要求,且显式配置sizeLimit后ResourceQuota不会再追加默认的256Mi预留值。

内容的提问来源于stack exchange,提问作者Haster

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.26 22:03:32