我已经为CronJob配置了带有资源请求和限制的YAML文件(apiVersion:batch / v1beta1),该pod已成功实例化,并且可以正常工作,但是当终止时,我将其标记为OOMKilled。
我的吊舱正在使用Docker容器,该容器以bash脚本启动,该bash脚本调用了一些Java工具(例如maven)。我试图像这样设置一个MAVEN_OPTS和JAVAOPTS:
env:
- name: JAVA_OPTS
value: "-Xms256M -Xmx1280M"
- name: MAVEN_OPTS
value: "-Xms256M -Xmx1280M"
这些值低于YAML中配置的限制的值。
我期望pod停止在完整状态,因为ENTRY_POINT bash脚本的最后回显显示在pod的日志中,但我收到了OOMKilled。
如果Pod容器被OOM杀死,则the Pod is not evicted。基础容器由kubelet
根据其RestartPolicy
重新启动。
OOMKill的您的容器RestartPolicy
并不暗示吊舱处于being terminated状态(除非您正在使用Completed/Error
)。
如果在吊舱上执行RestartPolicy: Never
,则容器将处于kubectl describe
状态,但是您可以在Running
中找到上一次重启的原因。另外,您可以检查它重新启动了多少次:
Last State