kubernetes 'kubectl log deployment/name'获取所有pod还是仅获取一个pod?

mjqavswn  于 2022-12-03  发布在  Kubernetes
关注(0)|答案(2)|浏览(199)
  • 我需要查看具有N个工作机单元的部署中所有单元的日志
  • 当我执行kubectl logs deployment/name --tail=0 --follow时,命令语法使我假设它将跟踪部署中的所有pod
  • 但是,当我转到“process”时,我没有看到预期的任何输出,直到我手动查看部署中所有N个单元的日志

kubectl log deployment/name获取所有pod还是仅获取一个pod?

1l5u6lss

1l5u6lss1#

只有一个吊舱似乎是答案。

  • 如何从Kubernetes复制控制器的所有单元中获取日志?而且命令kubectl logs deployment/name似乎只显示N的一个单元
  • 此外,当您在部署上执行kubectl logs时,它确实会说它只打印到控制台,即它是用于一个Pod(而不是所有Pod)
wixjitnu

wixjitnu2#

是的,如果您对部署运行kubectl logs,它将仅返回部署中一个单元的日志。
但是,您可以通过使用-l标志返回与标签匹配的所有pod的日志来完成您试图实现的目标。
例如,假设您使用以下命令创建展开:

kubectl create deployment my-dep --image=nginx --replicas=3

每个pod都有一个标签app=my-dep,如下所示:

$ kubectl get pods -l app=my-dep
NAME                      READY   STATUS    RESTARTS   AGE
my-dep-6d4ddbf4f7-8jnsw   1/1     Running   0          6m36s
my-dep-6d4ddbf4f7-9jd7g   1/1     Running   0          6m36s
my-dep-6d4ddbf4f7-pqx2w   1/1     Running   0          6m36s

因此,如果要获取此部署中所有单元的组合日志,可以使用以下命令:

kubectl logs -l app=my-dep

相关问题