本文小编为大家详细介绍“k8s查看pod日志的方法有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“k8s查看pod日志的方法有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。
通过kubectl
kubectl logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER]
参数 | 简写 | 默认值 | 说明 |
---|---|---|---|
container | c | 打印指定容器的日志 | |
all-containers | false | 获取pod中所有容器的日志。 | |
selector | l | 通过标签筛选pod,支持 ‘=’、‘==’ 和 ‘!=’。 例如 -l key1=value1,key2=value2。 匹配对象必须满足所有指定的标签约束。 | |
max-log-requests | 5 | 指定选择器使用时要遵循的最大并发日志数。默认为 5。 | |
since | 0s | 仅返回比相对持续时间(如 5s、2m 或 3h)更新的日志。 默认为所有日志。since-time和since只能二选一 | |
since-time | 仅在特定日期 (RFC3339格式)之后返回日志。 默认为所有日志。since-time和since只能二选一 | ||
tail | -1 | 要显示的最近日志文件的行。 | |
limit-bytes | 0 | 要返回的最大日志字节数。默认为无限制。 | |
follow | f | false | 是否持续传输日志。 |
timestamps | false | 在日志输出的每一行包含时间戳 | |
prefix | false | 在每个日志行前加上日志源(pod 名称和容器名称) |
例如:
注意:指定namespace时,不能用-A 和 --all-namespaces。
通过rancher
如果您使用的k8s被rancher托管,则可以使用rancher查看。
注意:在当前常用的2.5和2.6两个rancher版本中,有些许差异,2.5默认就能查看到全部日志,2.6则需要设置几个参数。
rancher 2.5
rancher 2.6
有时候,我们在rancher2.6查看某个pod的指定容器的日志时,发现日志框是完全空白的,看不到任何日志信息,而通过kubectl logs,或者docker logs却能看到不少日志信息。这大概率是因为rancher页面右下方是日志筛选范围没有进行恰当的设置,默认情况下,rancher2.6只显示最近30分钟的日志。所以如果不手动调整一下,就很容易看不到想要日志。设置方式如下图所示:
如下图所示,即可看到全部日志:
读到这里,这篇“k8s查看pod日志的方法有哪些”文章已经介绍完毕,想要掌握这篇文章的知识点还需要大家自己动手实践使用过才能领会,如果想了解更多相关内容的文章,欢迎关注编程网行业资讯频道。