如何截断kubernetes pod的日志?

时间:2019-10-14 08:26:04

标签: logging kubernetes

我下载了一个Pod的日志,它的大小大于1G,如何缩小/截断Pod的日志?这样我可以更快地下载?

PS:我需要清除日志的旧部分,以便释放磁盘空间

2 个答案:

答案 0 :(得分:1)

int仅显示最近的1000行。根据需要进行调整。

  

-tail = -1:要显示的最近的日志文件行。默认为-1,不带选择器,否则显示所有日志行   10,如果提供了选择器。

答案 1 :(得分:1)

如果要基于时间的截断,还可以添加到Coderangers答案中。这样可以获取最近1小时的日志。

kubectl logs --since=1h nginx
  

显示过去一小时内从pod nginx写入的所有日志。


更新帖子评论。

容器和容器日志存储在各自的应用程序路径中。请参阅此答案。 https://stackoverflow.com/a/50872881/5617140

另一种解决方案是将kubernetes节点的docker日志截断。

sudo sh -c "du -ch /var/lib/docker/containers/*/*-json.log | grep total"
This will give total size of docker logs.

sudo sh -c "truncate -s 0 /var/lib/docker/containers/*/*-json.log"
Above command will truncate all the log files. 

注意*-这是一种解决方法。在执行此操作之前,请确保备份重要日志。