k8s查看pod日志的几种方法

Posted 农民工老王

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了k8s查看pod日志的几种方法相关的知识,希望对你有一定的参考价值。

博客主页:https://tomcat.blog.csdn.net
博主昵称:农民工老王
主要领域:Java、Linux、K8S
期待大家的关注💖点赞👍收藏⭐留言💬

目录

通过kubectl

kubectl logs [-f] [-p] (POD | TYPE/NAME) [-c CONTAINER]

参数简写默认值说明
containerc打印指定容器的日志
all-containersfalse获取pod中所有容器的日志。
selectorl通过标签筛选pod,支持 ‘=’、‘==’ 和 ‘!=’。
例如 -l key1=value1,key2=value2。
匹配对象必须满足所有指定的标签约束。
max-log-requests5指定选择器使用时要遵循的最大并发日志数。默认为 5。
since0s仅返回比相对持续时间(如 5s、2m 或 3h)更新的日志。
默认为所有日志。since-time和since只能二选一
since-time仅在特定日期 (RFC3339格式)之后返回日志。
默认为所有日志。since-time和since只能二选一
tail-1要显示的最近日志文件的行。
limit-bytes0要返回的最大日志字节数。默认为无限制。
followffalse是否持续传输日志。
timestampsfalse在日志输出的每一行包含时间戳
prefixfalse在每个日志行前加上日志源(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分钟的日志。所以如果不手动调整一下,就很容易看不到想要日志。设置方式如下图所示:

如下图所示,即可看到全部日志:


如需转载,请注明本文的出处:农民工老王的CSDN博客https://blog.csdn.net/monarch91 。

以上是关于k8s查看pod日志的几种方法的主要内容,如果未能解决你的问题,请参考以下文章

K8S 中 kubectl 详解

K8S 中 kubectl 详解

K8S 中 kubectl 详解

K8S 中 kubectl 详解

kubernetes:pod无法删除

K8s通过Helm部署入门