为什么`kubectl logs`只显示最新的日志行?

时间:2016-09-08 16:47:13

标签: kubernetes google-cloud-platform google-kubernetes-engine kubectl

我在Google Container Engine上运行了一个Kubernetes pod。它已经运行了几天,写入日志,没有重新启动。

为什么命令kubectl logs仅显示今天的日志行?

此限制来自何处,是否基于日志行的时间或数量?

1 个答案:

答案 0 :(得分:8)

默认情况下,容器引擎VM上启用了Logrotate。您应该能够在以下位置检查conf对于docker容器日志。

cat /etc/logrotate.d/docker-containers

因此,当您运行kubectl logs时,它会从当前日志文件中流式传输。过去的日志已经过gzip压缩,并且根据logrotate配置,只有N个压缩文件可用。

您可以检查位置/var/log/containers的所有容器日志文件以及与/var/lib/docker/containers/$containerId/链接的符号

您可能还需要参考文档http://kubernetes.io/docs/user-guide/kubectl/kubectl_logs/,看看是否有其他选项可以解决。