簡體   English   中英

`kubectl log deployment/name` 是獲取所有 pod 還是只獲取一個 pod?

[英]Does `kubectl log deployment/name` get all pods or just one pod?

  • 我需要查看具有 N 個 worker pod 的部署中所有 pod 的日志
  • 當我執行kubectl logs deployment/name --tail=0 --follow命令語法時,我假設它將跟蹤部署中的所有 pod
  • 但是,當我 go 進行處理時,我沒有按預期看到任何 output,直到我手動查看部署中所有 N 個 pod 的日志

kubectl 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 日志將返回單個 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM