【发布时间】:2020-02-25 23:52:26
【问题描述】:
我已经使用带有资源请求和限制的 YAML 文件(apiVersion:batch/v1beta1)配置了一个 CronJob,该 pod 已成功实例化并一直工作到其自然结束,但当终止时我看到它标记为 OOMKilled。
我的 pod 正在使用 Docker 容器,该容器以调用一些 Java 工具(如 maven)的 bash 脚本启动。我尝试像这样设置 MAVEN_OPTS 和 JAVAOPTS:
env:
- name: JAVA_OPTS
value: "-Xms256M -Xmx1280M"
- name: MAVEN_OPTS
value: "-Xms256M -Xmx1280M"
这是低于 YAML 中配置限制的值。
我预计 pod 会在完整状态下停止,因为我的 ENTRY_POINT bash 脚本的最后一个回显显示在 pod 的日志中,但我得到了 OOMKilled。
【问题讨论】:
-
似乎程序在达到 k8s 资源限制之前被容器操作系统 oom-killed,conainer 自行终止,因此 k8s 认为它已完成
标签: kubernetes yaml containers