k8s(kubectl) 查看pod日志或同时查看多个pod的日志

查看单个pod的日志

1
kubectl -n kube-system logs -f --tail 100 pod_name

使用标签选择器指定要查看日志的Pod的选择条件

1
kubectl -n kube-system logs -f -l k8s-app=kube-dns

若遇到如下错误:

1
error: you are attempting to follow 11 log streams, but maximum allowed concurrency is 5, use --max-log-requests to increase the limit

这个错误是因为默认情况下,kubectl在同时跟踪日志流时有最大并发限制。可以按照错误信息中提到的建议使用--max-log-requests参数来修改限制。

示例如下:

1
2
# 推荐方式
kubectl -n kube-system logs -f --tail 10 --max-log-requests=100 -l k8s-app=kube-dns

使用deploy名称查看

1
2
# 命令支持,但实际感觉只显示了一个pod的日志
kubectl -n kube-system logs -f --tail 100 deployment.apps/coredns

常用的选项如下:

  • -f 实时查看日志

  • --previous=true 可以查看被中断的pod的日志,如果需要查看崩溃的容器日志,这个参数有用

  • --all-containers=true 查看pod中所有容器的日志(适合一个pod内有多个容器的场景)

  • -c 容器名字 如果pod内有多个容器,必须使用 -c 参数指定具体容器的名字

  • --prefix:输出对应Pod的名称。

  • --max-log-requests:最大查看Pod的个数。

  • -l a!=a:查看标签不是a!=aPod的日志

打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2024 Outsrkem
  • 访问人数: | 浏览次数:

      请我喝杯咖啡吧~

      支付宝
      微信