在bash终端上逐页查看kubectl日志

在bash终端上逐页查看kubectl日志,bash,kubectl,xargs,Bash,Kubectl,Xargs,团队, 在bash上,我在下面运行以查看日志,但当日志很大时,终端都被占用了,我无法停止几分钟 有没有一种方法可以在bash上执行kubectl,它只显示shell屏幕大小的日志,然后使用return键或空格键查看更多内容?就像journalctl一样?但我想在使用kubectl时实现这一点 kubectl logs test-pod -n namespace-test 以上每次显示10K行,这是我不希望看到的。我也不想在pod上执行并实际查看日志文件。有什么提示吗?或者是否有类似显示最后10

团队, 在bash上,我在下面运行以查看日志,但当日志很大时,终端都被占用了,我无法停止几分钟

有没有一种方法可以在bash上执行kubectl,它只显示shell屏幕大小的日志,然后使用return键或空格键查看更多内容?就像journalctl一样?但我想在使用kubectl时实现这一点

kubectl logs test-pod -n namespace-test
以上每次显示10K行,这是我不希望看到的。我也不想在pod上执行并实际查看日志文件。有什么提示吗?或者是否有类似显示最后100行的内容?或者首先使用xargs?

您可以执行以下操作:

kubectl logs --tail=100 test-pod -n namespace-test

有几种方法可以做到这一点

1)更少

kubectl logs test-pod -n namespace-test | less
此命令将允许您从上到下逐页读取日志。您可以使用箭头向上或向下移动

2)--尾部=

kubectl logs test-pod -n namespace-test --tail=500
kubectl logs test-pod -n namespace-test --since=60
将显示最后500行日志

3)使用grep的管道

kubectl logs test-pod -n namespace-test | grep <some_phrase>
它显示过去60秒的日志

5) --自时间=''

与前一个类似。它将显示所提供时间的日志。此命令中的格式为

“YYYY-MM-DDTHH:MM:ssZ”

您可能听说过类似的
更多
选项,但它是旧格式。你只能从上到下滚动,不能向上滚动

kubectl logs test-pod -n namespace-test | more

感谢您的详细回答!有用的。。
kubectl logs test-pod -n namespace-test --since-time='2019-04-23T12:00:00Z'
kubectl logs test-pod -n namespace-test | more