【问题标题】:Why does `kubectl logs` only show the most recent log rows?为什么 `kubectl logs` 只显示最近的日志行?
【发布时间】:2017-01-16 16:57:19
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    在容器引擎虚拟机上默认启用 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/,看看是否有其他选项可以挽救。

    【讨论】:

      猜你喜欢
      • 2021-12-29
      • 2019-01-20
      • 2021-07-14
      • 2018-07-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多