Docker 内部 Docker oom_score_adj:无效参数

Raj*_*jiv 6 openshift docker kubernetes s2i

在 Kubernetes 上,为了构建 docker 镜像,我们使用 Docker Inside Docker (dind),其中 docker 守护程序将作为特权用户运行

但有时我们观察到 docker 镜像创建会失败并出现以下错误,我无法指出确切原因,

ERROR: Error writing header for "scripts": io: read/write on closed pipe
ERROR: Error writing tar: io: read/write on closed pipe
Removing temporary directory /tmp/s2i834345991
Removing directory '/tmp/s2i834345991'
Build failed ERROR: An error occurred: Error response from daemon: set shim OOM score: write /proc/9092/oom_score_adj: invalid argument: unknown
Run Code Online (Sandbox Code Playgroud)

根据 docker 文档,默认情况下 oom_score_adj 设置为 -500,即容器可以消耗 50% 的内存,所以我假设当内存使用率超过 50% 时操作系统/内核正在杀死容器,但我不确定关于它,因为异常说“无效参数”

有没有人之前遇到过这个问题,如果是,请告诉我们相同的确切原因,我浏览了很多文章,但无法得出任何结论。

Rya*_*yan 0

oom_score_adjSecrets如果未正确进行 Base64 编码,可能会出现错误。

https://github.com/kubernetes/kubernetes/issues/30861