有没有办法在一个 kubectl 命令中检查多个 pods

Is there a way to check multiple pods in one kubectl command

有没有一种方法可以在一个命令中检查多个 pods,也许是

kubectl logs pods/pod1 pods/pod2 [container-name]

?

kubectl logs 无法打印名称指定的多个 pods 的日志。

不过,您可以使用 -l, --selector='' 标志作为标签查询进行过滤。例如:

# Return snapshot logs from all containers in pods defined by label app=nginx
kubectl logs -lapp=nginx --all-containers=true

如果您需要从多个不同的 pods 打印日志,有一些项目可以提供帮助:

  • Kubetail:Bash 脚本使您能够将来自多个 pods 的 (tail/follow) 日志聚合到一个流中。这与 运行 kubectl logs -f 相同,但对于多个 pods.
  • Kubelogs:这是一个 bash 脚本,它使用您当前的 kubectl context 以交互方式 select 命名空间和多个 pods 从中下载日志。它基本上为所有容器循环运行 kubectl logs,将日志重定向到本地文件。