2021-11-10

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日志这块的配置,如果做了限制则可能无法导出你想要时间的日志

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值