2021-11-10
k8s查询日志操作kubectl logs 常用于将容器中的日志查询或导出可用参数:-c, --container="": 容器名-f, --follow[=false]: 指定是否持续输出日志--interactive[=true]: 如果为true,当需要时提示用户进行输入。默认为true--limit-bytes=0: 输出日志的最大字节数。默认无限制-p, --previous[=fals
·
k8s查询日志操作
kubectl logs 常用于将容器中的日志查询或导出
可用参数:
-c, --container="": 容器名
-f, --follow[=false]: 指定是否持续输出日志
--interactive[=true]: 如果为true,当需要时提示用户进行输入。默认为true
--limit-bytes=0: 输出日志的最大字节数。默认无限制
-p, --previous[=false]: 如果为true,输出pod中曾经运行过,但目前已终止的容器的日志
--since=0: 仅返回相对时间范围,如5s、2m或3h,之内的日志。默认返回所有日志。只能同时使用since和since-time中的一种
--since-time="": 仅返回指定时间(RFC3339格式)之后的日志。默认返回所有日志。只能同时使用since和since-time中的一种
--tail=-1: 要显示的最新的日志条数。默认为-1,显示所有的日志
--timestamps[=false]: 在日志中包含时间戳
生活中我们会使用for循环来循环导出多个pod日志到一个文件中
例如1:
kubectl -n < Namespace > get pod |grep <pod 名字关键字> |awk '{print $1}' | while read po ; do kubectl -n < Namespace > logs --since=30m $po >> Pod-Name_20211013.log ;done
例如2:
kubectl -n < Namespace > get pod |grep <pod 名字关键字> |awk '{print $1}' | while read po ; do kubectl -n < Namespace > logs --since-time='2021-11-01T01:30:00.000+08:00' $po >> Pod-Name_20211013.log ;done
# --since-time='2021-11-01T01:30:00.000+08:00'
# --since-time 默认使用得是0区,默认相差8小时,不符合我们需求,需要自行更改
注意:上述所有日志可导出的时间取决于你docker服务中daemon.json日志这块的配置,如果做了限制则可能无法导出你想要时间的日志
更多推荐
已为社区贡献2条内容
所有评论(0)