![](/img/trans.png)
[英]get one of new pod name after kubectl rollout status | kubectl get pods --field-selector returns Terminating pods
[英]Does `kubectl log deployment/name` get all pods or just one pod?
kubectl logs deployment/name --tail=0 --follow
命令語法時,我假設它將跟蹤部署中的所有 podkubectl log deployment/name
獲取所有 pod 還是只獲取一個 pod? 是的,如果您對部署運行kubectl logs
,它只會從部署中返回一個 pod 的日志。
但是,您可以通過使用-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
因此,如果您想獲取此部署中所有 pod 的組合日志,您可以使用此命令:
kubectl logs -l app=my-dep
kubectl logs deployment/name
只顯示了 N 的一個 podkubectl logs
時,它確實會說它只打印到控制台,它是針對一個 pod(而不是所有 pod)的Kubectl 日志將返回單個 pod 的日志。
您可以使用--all-containers=true
獲取所有容器的日志。
命令kubectl get pods --all-namespaces -o jsonpath='{range.items[*]}{.metadata.name}:{.metadata.namespace}:{.status.phase}:{.status.reason}
將列出所有命名空間中的所有 pod 及其名稱、命名空間、階段和原因。
我使用了一個名為 promptops.com 的工具。 您可以在此處查看對話: https ://www.promptops.com/53e1ad3d
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.