Docker清理Kubernetes吊舱日志的速度太快
我正在运行许多程序,以便在我的家庭服务器上自动执行任务。当作业运行且其Pod完成时,我可以使用Docker清理Kubernetes吊舱日志的速度太快,docker,kubernetes,Docker,Kubernetes,我正在运行许多程序,以便在我的家庭服务器上自动执行任务。当作业运行且其Pod完成时,我可以使用kubectl logs查看日志,但是在一定时间后(少于5分钟但超过30秒),Pod仍然存在于Kubernetes中,但我得到: unable to retrieve container logs for docker://<containerID> 无法检索docker的容器日志:// 我自己没有启用任何日志旋转,所以我假设Docker在容器完成后清理日志。如何将Docker配置为保留
kubectl logs
查看日志,但是在一定时间后(少于5分钟但超过30秒),Pod仍然存在于Kubernetes中,但我得到:
unable to retrieve container logs for docker://<containerID>
无法检索docker的容器日志://
我自己没有启用任何日志旋转,所以我假设Docker在容器完成后清理日志。如何将Docker配置为保留这些容器日志,以便在作业完成后较长时间(例如1天)后可以查看作业日志
- 群集供应器:kubeadm 1.17.0
- Kubernetes版本:1.17.0
- Docker版本:18.06.3-ce
:4.19.86-coreosuname-r
最小容器ttl持续时间
标志。这是完成容器在垃圾收集之前的最短期限
在作业规范中,还可以指定TTL
apiVersion: batch/v1
kind: Job
metadata:
name: pi-with-ttl
spec:
ttlSecondsAfterFinished: 100
带有ttl的作业pi将有资格在完成后100秒自动删除。使用docker进行简单的CronJob
docker系统prune-f-a--filter“until=168h”
docker卷修剪-f
不幸的是,最小容器ttl持续时间
已被弃用,ttlSecondsAfterFinished
为alpha(除非它消失,否则不想使用它,也希望设置为集群范围,而不是选择加入)-对于最小容器ttl持续时间
的建议替换方法是使用强制逐出
,但这将使磁盘使用率默认达到85%,我希望尽可能多地清理,但将死吊舱单独放置一天(如您所述,使用最小容器ttl持续时间
是可能的),但我现在不知道该怎么做,你能更详细地解释一下它与你最初的问题有什么关系吗?它解决了你的问题吗?