我正在尝试部署pod并将10GB的TPCDS数据复制到pod中。我使用的是50 GB存储容量的PVC。我的规格是:
resources:
limits:
cpu: "1"
memory: 20Gi
#ephemeral-storage: 20Gi
requests:
cpu: "1"
memory: 20Gi
但我在将数据复制到pod时仍然面临这个问题。
The node was low on resource: ephemeral-storage. Container spark-kafka-cont was using 10542048Ki, which exceeds its request of 0.
1条答案
按热度按时间kmbjn2e31#
您的问题与当前正在运行的Pod有关,由于磁盘空间不足,必须终止这些Pod。
Updating to a bigger disk helps to delay the eviction process.
看起来该特定节点没有足够的可用存储。建议您显式指定本地临时存储请求和限制(
set limits/requests on ephemeral-storage on all your workloads
),以便Kubernetes能够遵守。否则,有可能会驱逐pod。有关详细信息,请参阅Local ephemeral storage & Local Storage Capacity Isolation Reaches GA的官方文档。要快速了解和解决问题,请使用
kubectl top
命令列出所有正在运行的节点和Pod沿着资源利用率。和kubectl exec
来获取pod中的shell,然后使用普通的Unix命令,如du -sh
[在容器内运行]df -h
和du -h someDir
命令来查找更多空间被利用的位置。 有时磁盘空间被导致此问题的logs or emptyDir
占用。只需获取一个外部卷,将其Map到容器中,然后获取节点外部的日志。使用kubectl logs
命令有助于找出这些日志。检查您可能被配置为记录到文件的进程,在这种情况下,请将日志记录设置为记录到标准输出。