16

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

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

这个限制来自哪里,它是基于时间还是日志行数?

4

1 回答 1

18

默认情况下,在容器引擎 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/看看是否有其他选项可以拯救。

于 2016-09-08T19:35:15.907 回答