use*_*872 8 logging kubernetes
我只是想在 pod 中找到日志位置。
我刚刚登录到 pod,如下所示。
kubectl exec -it POD_NAME bash
Run Code Online (Sandbox Code Playgroud)
但是,日志在/var/logs
. 不确定实际的日志位置是什么以及如何更改它。
如果您的应用程序正在将日志写入文件,则该日志文件在容器中的位置取决于您的应用程序。日志文件在主机上的位置取决于您是否在主机上挂载了日志目录。
如果您的应用程序正在将日志写入stdout
,那么您的容器运行时将捕获每一行并将其存储在主机上。对于 Docker,这存储在/var/lib/docker/containers
目录中。
但是 Kubernetes 还通过将相关日志文件符号链接到/var/log/pods/<namespace>_<pod_name>_<pod_id>/<container_name>/
.
无法回答您的问题,因为除了您之外,没有人知道您的应用程序是如何配置和部署的。
我只能猜测您的应用程序stdout
通过Docker
json 日志记录驱动程序将日志写入,并且您的日志存储在您的 k8s 节点之一上:
$ sudo find /var/lib/docker/containers -name "*-json.log"
Run Code Online (Sandbox Code Playgroud)
默认情况下,您可以使用kubectl -n <namespace> logs <pod_name>
命令查找 pod 的日志
更多信息:https : //kubernetes.io/docs/concepts/cluster-administration/logging/
容器中的日志文件取决于您运行的应用程序,不同的应用程序将日志输出到不同的位置,例如,我环境中的tomcat将日志输出到/usr/local/tomcat/logs目录中。
pod 的日志,我们这里指的是控制台输出,将保存到主机中的容器目录中,然后链接到 /var/log/pods/$pod_name 目录,您可以在那里找到日志。
归档时间: |
|
查看次数: |
17281 次 |
最近记录: |