有没有一种方法可以在一个命令中检查多个pod,比如
kubectl logs pods/pod1 pods/pod2 [container-name]
kubectl logs
无法打印由名称指定的多个pod中的日志。
尽管如此,您可以使用-l, --selector=''
标志作为标签查询进行过滤。例如:
# Return snapshot logs from all containers in pods defined by label app=nginx
kubectl logs -lapp=nginx --all-containers=true
如果你需要从多个不同的pod打印日志,有一些项目可以提供帮助:
- Kubetail:Bash脚本,使您能够将来自多个pod的日志聚合(tail/flow(到一个流中。这与运行
kubectl logs -f
相同,但适用于多个pod - Kubelogs:它是一个bash脚本,使用当前的
kubectl context
以交互方式选择名称空间和多个pod来下载日志。它基本上在所有容器的循环中运行kubectl logs
,将日志重定向到本地文件