kubernetes Openshift -终止后保留pod日志的策略

ru9i0ody  于 2023-03-07  发布在  Kubernetes
关注(0)|答案(1)|浏览(312)

https://docs.openshift.com/container-platform/4.5/support/troubleshooting/investigating-pod-issues.html
说:
根据策略和退出代码,Pod和容器日志在Pod终止后仍然可用。
但是,没有说明我可以设置哪个策略来使pod日志在终止后可用。或者哪些退出代码保留日志。有人有什么想法吗?显然,必须有可能使日志在终止后可用,但如何?
(Yes,我知道我可能会使用一些外部日志记录解决方案。但是我手边没有,而且要在开发环境中建立一个,并做任何更改,使正在开发的pod将其日志发送到那里,这将是一项大量的工作。所有这些在"prod"环境中都是无效的,因此需要在更改生效之前删除。然而,对某个地方的策略的更改完全在启动pod的代码之外,所以我可以将其留在dev中,而不必担心在dev工作开始之前进行更改。)

e0bqpujr

e0bqpujr1#

如果您不将pod发送到外部日志记录解决方案,则它们将在pod删除或重新启动后被删除。
当pod被删除时,日志也会随之删除,因此如果您执行oc delete pod <pod>,则无法检索日志。此外,如果由于某些原因,它已被群集本身删除,例如清空节点。
如果您想保留发生故障的pod的日志,可以将重新启动策略更改为Never,这样一旦一个container发生故障,pod将处于Error状态,您应该能够检索日志。
在您的情况下,我猜您正在尝试排除一个不断重新启动的失败pod的故障。如果是这种情况,您可以使用-p参数,以便获取以前container执行的日志:
oc logs <pod> -c <container> -p

相关问题