我正在运行多个CronJobs以自动执行家庭服务器上的任务。当作业运行并且其Pod完成时,我可以使用kubectl logs <podName>
查看日志,但是经过一定时间(少于5分钟但超过30s)后,该Pod仍然存在于Kubernetes中,但是我得到了:
unable to retrieve container logs for docker://<containerID>
我自己尚未启用任何日志循环,所以我假设一旦容器完成,Docker便会清理日志。如何配置Docker保留这些容器日志,以便在作业完成较长时间(例如1天)后可以看到作业日志。
uname -r
:4.19.86-coreos 答案 0 :(得分:1)
您可以尝试在Kubelet中设置minimum-container-ttl-duration
标志。这是完成的容器在被垃圾收集之前的最小寿命。
还可以在作业说明中指定TTL
apiVersion: batch/v1
kind: Job
metadata:
name: pi-with-ttl
spec:
ttlSecondsAfterFinished: 100
Job pi-with-ttl将有资格在完成100秒后自动删除。
答案 1 :(得分:0)
使用docker http://my-cluster-name-m:18080/history/application_1580137635209_0006/1
进行了简单的CronJobdocker system prune -f -a --filter "until=168h"
docker volume prune -f