kubernetes是否支持日志保留?

时间:2018-06-17 19:29:57

标签: docker kubernetes

如何定义kubernetes pod的日志保留? 目前似乎日志文件大小不受限制,它使用主机完整资源。

2 个答案:

答案 0 :(得分:4)

根据kubernetes.io的Logging Architecture,有一些选项

第一个选项

  

Kubernetes目前不负责轮换日志,而是负责   部署工具应该设置解决方案来解决这个问题。对于   例如,在Kubernetes集群中,由kube-up.sh脚本部署,   有一个logrotate工具配置为每小时运行一次。你也可以   设置容器运行时以自动旋转应用程序的日志,   例如通过使用Docker的log-opt。在kube-up.sh脚本中,后者   方法用于GCP上的COS图像,并使用前一种方法   在任何其他环境中。在这两种情况下,默认情况下都是旋转   配置为在日志文件超过10MB时发生。

另外

第二个选项

  

Sidecar容器还可用于旋转应用程序本身无法旋转的日志文件。这种方法的An example是一个定期运行logrotate的小容器。但是,建议直接使用stdout和stderr,并将轮换和保留策略保留给kubelet。

enter image description here

答案 1 :(得分:0)

您始终可以在Docker节点上设置日志记录保留策略
参见:https://docs.docker.com/config/containers/logging/json-file/#examples

通过更改/ etc / default / docker中的ExecStart行并添加行--log-opt max-size=10m

请注意,这将影响节点上运行的所有容器,这使其非常适合Kubernetes设置(因为我的实时日志已上传到外部ELK堆栈)