最近,部署中包含多个pod 的同一容器在OOMKilled
事件后重新启动.
State: Running
Started: Tue, 15 Feb 2022 23:33:06 +0000
Last State: Terminated
Reason: OOMKilled
Exit Code: 1
Started: Fri, 11 Feb 2022 17:48:21 +0000
Finished: Tue, 15 Feb 2022 23:33:05 +0000
Ready: True
Restart Count: 1
Limits:
cpu: 1
memory: 512Mi
Requests:
cpu: 1
memory: 512Mi
如果容器超过可用内存的限制,那么它将以代码137
退出.我猜容器没有达到极限.所以我的问题是,如果退出代码是1,原因是OOMKilled
,会发生什么.
Update:
ret = subprocess.run(args, stderr=subprocess.PIPE, universal_newlines=True, check=False)
if ret.returncode != 0:
logging.warning("Executing cmd failed: %s, code: %d, stderr: %s", cmd, ret.returncode, ret.stderr)
raise Exception("Failed")
调用相关日志(log)时,返回-9
:
2022-02-15T23:33:30.510Z WARNING "MainThread - Executing cmd failed: iptables-restore -n -w 3 restore-filter, code: -9, stderr: "
raise Exception("Failed")
Exception: Failed
从子流程的描述中.run():A negative value -N indicates that the child was terminated by signal N (POSIX only).
那么,因为引发了异常,python代码以1退出?可能