在https://kubernetes.io/docs/reference/kubectl/cheatsheet/#interacting-with-deployments-and-services上显示的kubectl logs deploy/my-deployment的用途是什么
我认为它将显示作为my-deployment对象的一部分部署的所有pods的日志。但是,即使我的部署中有两个pod,该命令也只显示其中一个pod的日志。
发布于 2021-11-18 09:42:58
如果您的部署有多个pod副本,那么kubectl logs deployment/...会自己挑选一个。
下面是一个示例:
kubectl get pods -n kube-system | grep coredns
coredns-78fcd69978-dqf95 1/1 Running 0 42h
coredns-78fcd69978-vgvf2 1/1 Running 0 42hkubectl logs deployment/coredns -n kube-system
Found 2 pods, using pod/coredns-78fcd69978-vgvf2发布于 2021-11-18 08:52:39
正如您从所链接的文档中所看到的:
kubectl logs deploy/my-deployment # dump Pod logs for a Deployment (single-container case)
kubectl logs deploy/my-deployment -c my-container # dump Pod logs for a Deployment (multi-container case)当您只有一个容器时,使用kubectl logs deploy/my-deployment。所以在你的情况下,可能是第一个。如果您有多个容器,则必须使用-c选项指定一个容器。
如果您希望拥有来自多个pod的日志,可以使用Stern
发布于 2021-11-18 12:35:39
通过遵循提供的文档,当有多个Pod使用下面的命令时,它一次只显示一个Pod的日志,它将在某个时间点随机挑选一个。
kubectl get pods -n kube-system | grep核心
如果有多个容器,那么可以通过使用“-c”来指定,并提到容器名称。通过遵循Stren文档,可以从pod中的多个容器中获取日志。使用以下命令将显示多个容器数据。
kubectl日志部署/my-deployment容器my- -c
https://stackoverflow.com/questions/70016660
复制相似问题