我正在运行一个包含 8 个工作节点和 3 个主节点的 k8 集群。我的 Pod 因临时存储问题而不断被驱逐。以下是我在 Evicted pod 上遇到的错误:
Message: The node was low on resource: ephemeral-storage. Container xpaas-logger was using 30108Ki, which exceeds its request of 0. Container wso2am-gateway-am was using 406468Ki, which exceeds its request of 0.
Run Code Online (Sandbox Code Playgroud)
为了克服上述错误,我向我的命名空间添加了临时存储限制和请求。
apiVersion: v1
kind: LimitRange
metadata:
name: ephemeral-storage-limit-range
spec:
limits:
- default:
ephemeral-storage: 2Gi
defaultRequest:
ephemeral-storage: 130Mi
type: Container
Run Code Online (Sandbox Code Playgroud)
即使在将上述限制和请求添加到我的命名空间之后,我的 pod 仍达到其限制,然后被驱逐。
Message: Pod ephemeral local storage usage exceeds the total limit of containers 2Gi.
Run Code Online (Sandbox Code Playgroud)
如何监控我的临时存储,它存储在我的实例上的什么位置?如何根据大小将 docker logrotate …
我们的一个容器正在使用临时存储,但我们不知道为什么。在容器中运行的应用程序不应向磁盘写入任何内容。
我们将存储限制设置为 20MB,但它仍然被驱逐。我们可以增加限制,但这似乎是一个创可贴。
我们不确定这个容器正在写入什么或写入何处,而且我也不知道如何检查。当容器被驱逐时,我能看到的唯一信息是容器超出了其存储限制。
是否有一种有效的方法来了解正在编写的内容,或者是我们梳理代码的唯一选择?