[英]Options for getting logs in kubernetes pods
kubernetes pods 中的開發者日志很少,獲取日志讓開發者查看的最佳方法是什么。
我們可以使用任何特定的工具嗎?
我可以選擇graylog,但不確定是否可以自定義以使開發人員登錄。
最基本的方法是簡單地使用kubectl logs
命令:
打印 pod 或指定資源中容器的日志。 如果 Pod 只有一個容器,則容器名稱是可選的。
在這里您可以找到有關命令及其標志的更多詳細信息以及一些有用的示例。
此外,您可能想使用:
在你的情況下,兩者都應該能解決問題。
請讓我知道這是否是您的想法,以及我的回答是否有幫助。
如果您想查看應用程序日志 - 從開發方面,您只需要將日志打印到STDOUT
和STDERR
流。
容器運行時(我猜在你的情況下是 Docker)會將這些流重定向到/var/log/containers
。
(因此,如果您要通過 ssh 進入節點,您可以運行docker logs <container-id>
並且您將看到所有相關日志)。
Kuberentes 提供了一種通過kubectl logs <pod-name>
像@Wytrzymały_Wiktor 描述的那樣更容易訪問它的方法。
(請注意,日志每 10MB 自動輪換一次,因此kubectl logs
命令將僅顯示上次輪換的日志條目)。
如果您想將日志發送到中央日志系統(如(ELK、Splunk、Graylog 等)),您必須通過在集群內運行日志轉發器來轉發集群中的日志。
例如,這可以通過運行管理每個節點上的 pod 的守護進程來完成,該節點將通過hostPath
卷訪問日志路徑( /var/log/containers
)並將日志轉發到遠程端點。 請參閱此處的示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.