我有一个在 Google Container Engine 上运行的 Kubernetes pod。它已经运行了几天,写入日志,没有任何重新启动。
为什么该命令kubectl logs
只显示今天的日志行?
这个限制来自哪里,它是基于时间还是日志行数?
我有一个在 Google Container Engine 上运行的 Kubernetes pod。它已经运行了几天,写入日志,没有任何重新启动。
为什么该命令kubectl logs
只显示今天的日志行?
这个限制来自哪里,它是基于时间还是日志行数?
默认情况下,在容器引擎 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/看看是否有其他选项可以拯救。