[Kubernetes] 使用 kubectl logs 監看全部具有同樣標籤的 pod log

[Kubernetes] 使用 kubectl logs 監看全部具有同樣標籤的 pod log

最近專案裡會碰到大量友軍部署的 Kubernetes Pods,

在找問題的時候,時常會需要去查看 pod log。

但是,因為對友軍部署的 pod 不熟,

通常很難確定哪個 pod 會產生我想要看到的 log,

對每一個 pod 下  kubectl logs 指令也很累…

 

上網查了一下,原來標籤 (Label) 的好處這時可以派上用場~

以此次為例,我要查的 pod 都處在 my-app 這個命名空間 (namespace),

而且它們正好都有一個 app=runner 的標籤,

因此我可以這麼下指令,監看所有有 app=runner 標籤的 pod 的 log:

kubectl -n my-app logs -l app=runner --all-containers -f --max-log-requests=100

 

這上面還加了  --max-log-requests 的參數,

不然如果 pod 數太多時,會收到錯誤訊息 (不過也可以遇到時再設就好),

這樣可以同時看到所有 pod 的 log,雖然比較雜亂,

但如果是在重現 (reproduce) 一個問題時,就可以看到所有的流程,

要找問題就方便許多了~^^

 

參考資料:logging – How do I get logs from all pods of a Kubernetes replication controller?

(本頁面已被瀏覽過 20 次)

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料