【问题标题】:View kubectl logs page by page on bash terminal在 bash 终端上逐页查看 kubectl 日志
【发布时间】:2019-04-19 18:31:28
【问题描述】:

团队, 在 bash 上,我在下面运行以查看日志,但是当它们很大时,终端都被全部占用,将它们倾倒出来,我无法停止几分钟。

有没有办法我可以在 bash 上执行 kubectl,它只显示日志直到 shell 屏幕大小,然后我使用返回键或空格键来查看更多信息?就像 journalctl 一样?但我想在使用 kubectl 时实现这一点。

kubectl logs test-pod -n namespace-test

Above 一次显示 10K 行,这是我不想要的。我也不想在 pod 上执行并实际查看日志文件。任何提示?还是有类似显示最后100行的东西?还是先用 xargs?

【问题讨论】:

    标签: bash kubectl xargs


    【解决方案1】:

    你可以这样做:

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

    【讨论】:

      【解决方案2】:

      有几种方法可以获得。

      1) 少

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

      此命令将允许您从上到下逐页阅读日志。您可以使用箭头向上或向下。

      2) --tail=

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

      将显示最后 500 行日志

      3) 使用 grep 的管道

      kubectl logs test-pod -n namespace-test | grep <some_phrase>
      

      它将允许您查找带有给定短语的日志。请注意,您可以通过管道加入命令,即

      kubectl logs test-pod -n namespace-test --tail=500 | grep <some_phrase>
      

      4) --since=

      kubectl logs test-pod -n namespace-test --since=60
      

      显示最近 60 秒的日志

      5) --since-time=''

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

      'YYYY-MM-DDTHH:MM:ssZ'

      kubectl logs test-pod -n namespace-test --since-time='2019-04-23T12:00:00Z'
      

      您可能听说过 more 选项,但它是旧格式。只能从上到下滚动,不能向上滚动。

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-12-26
        • 1970-01-01
        • 1970-01-01
        • 2019-04-24
        • 2011-11-08
        • 1970-01-01
        • 2014-04-12
        • 1970-01-01
        相关资源
        最近更新 更多