原因
コンテナに割り当てられたメモリを使いきって、コンテナ内で OOM Killer にプロセスを殺されている。
従来の解決
.spec.template.spec.containers[].resources.limits.memoryの数値を増やして、コンテナが使用できるメモリの上限を上げる。
test.yml
apiVersion: batch/v1
kind: CronJob
...
spec:
template:
spec:
containers:
- name: app
requests:
cpu: '100m'
memory: '8Mi'
limits:
cpu: '100m'
memory: '32Mi' ←ここ
limits.memoryだけでは足りなかった
LIMITSはREQUESTSの倍ぐらいにしといてREQUESTSも調整が必要になる。
上記の設定でOOMが発生したのであれば
REQUESTS: 32Mi、LIMITS: 64Miが良い
- request: アプリケーションが安定して稼働するのに最低限の値
(OOMが発生しないようにするにはこっちを上げる必要あり)
- limit: ノードに余裕がある場合にパフォーマンス向上のためにどれぐらい使ってよいかの限界値