![](/img/trans.png)
[英]Kubernetes logs from kubectl logs command is different to /var/log/containers in GKE cluster
[英]Get logs from a specific file within container in Kubernetes cluster using kubectl log command
我有一個應用程序,它將日志存儲在一個可配置位置的文件中。 假設/abc/pqr/application.log
應用程序正在遷移到 Kubernetes,它將在單個 Pod 中運行。 如果我運行kubectl log <pod-name>
,我會得到打印在stdout
上的任何內容,我可以將其重定向到一個文件。 我想kubectl logs <pod-name>
做,我在上述位置有一個包含日志的文件,我希望kubectl logs <pod-name>
從該文件打印日志。
例如,如果為使用bitnami/kafka部署的 kafka pod 運行kubectl logs kafka
kafka ,我會從/opt/bitnami/kafka/logs/server.log
獲取日志。 我想模仿這種行為。
kubectl logs
命令從stdout
和stderr
獲取所有內容,因此您需要在那里提供日志。
當容器化應用程序將其日志寫入stdout
和stderr
時,這是一種常見做法。
這種方式有兩個主要選擇:
調整應用程序,使其也將日志寫入stdout
和文件。 例如,使用 shell 可以通過tee
命令來完成。
請找到帶有命令描述的好答案。
使用 sidecar 容器,它將從文件中獲取日志並將它們轉換為自己的stdout
。 請找到使用帶有日志代理的 sidecar 容器
有關 kubernetes 日志記錄(包括容器)的有用鏈接:
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.