当前位置: 首页 > 知识库问答 >
问题:

kubernetes吊舱日志的绝对路径是什么?

王兴腾
2023-03-14

kubernetes吊舱日志的绝对路径是什么?
当我尝试kubectl logs pod时,我可以看到吊舱日志。我想知道运行pod的日志文件路径。

kubectl原木npapp-0r9jw

output: rectory /hab/pkgs/core/tomcat8/8.5.9/20170514144202/tc/webapps/ROOT has finished in 21 ms
national-parks.default(O): 22-Oct-2017 05:33:54.526 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /hab/pkgs/core/tomcat8/8.5.9/20170514144202/tc/webapps/manager
national-parks.default(O): 22-Oct-2017 05:33:54.564 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /hab/pkgs/core/tomcat8/8.5.9/20170514144202/tc/webapps/manager has finished in 38 ms
national-parks.default(O): 22-Oct-2017 05:33:54.564 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory /hab/pkgs/core/tomcat8/8.5.9/20170514144202/tc/webapps/host-manager
national-parks.default(O): 22-Oct-2017 05:33:54.595 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory /hab/pkgs/core/tomcat8/8.5.9/20170514144202/tc/webapps/host-manager has finished in 31 ms
national-parks.default(O): 22-Oct-2017 05:33:54.599 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [http-nio-8080]
national-parks.default(O): 22-Oct-2017 05:33:54.613 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler [ajp-nio-8009]
national-parks.default(O): 22-Oct-2017 05:33:54.620 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 2735 ms

在哪里可以看到绝对日志文件路径?

共有2个答案

柴琨
2023-03-14

如果您查看库伯内特斯的源代码,您将看到pkg/路线/logs.go,它将提供(默认情况下)/var/log中的文件内容(提供以下示例的静态文件

func logFileHandler(req *restful.Request, resp *restful.Response) {
    logdir := "/var/log"
    actual := path.Join(logdir, req.PathParameter("logpath"))
    http.ServeFile(resp.ResponseWriter, req.Request, actual)
}

正如您在kubernetes/kubernetes第53022期中所看到的:

当前符号链接/var/log/containers指向/var/log/pods/pod\u UID/*.logs

所以日志的完整绝对路径是:

/var/log/pods/pod_UID/*.logs

2019年更新:

本期还涉及分析平台helm charts PR 91:

Symlink/var/log/containers已被弃用,取而代之的是我们版本的kubernetes元数据docker守护程序的/var/log/pods

见本Kubernetes CRI(2018年11月)

Kubelet将配置根目录(例如,/var/log/pods/var/lib/Kubelet/logs/)来存储所有容器日志。下面是pod中容器日志的路径示例。

/var/log/pods/<podUID>/<containerName>_<instance#>.log

在CRI中,这是通过在创建pod沙盒时设置pod级日志文件目录,并在创建容器时传递相对容器日志路径来实现的。

PodSandboxConfig.LogDirectory: /var/log/pods/<podUID>/
ContainerConfig.LogPath: <containerName>_<instance#>.log
柳钟展
2023-03-14

VonC的答案不是100%准确-应该是/var/log/pods/

此外,实际日志文件的位置取决于您正在使用的容器运行时。Docker将其容器日志存储在/var/lib/Docker/containers中。

使用Kubernetes时,可以使用绝对日志路径/var/log/pods访问容器日志/

 类似资料:
  • 在kubernetes仪表板上,有一个pod,其中内存使用情况(字节)显示为。 这个pod保存了使用Xms512m-Xmx1024m运行的java应用程序,该应用程序位于kubernetes部署文件中- 我已启用gc日志,并在pod日志中看到这些日志: kubernetes是如何到达用法的?如果我理解正确,目前的用法只有: 运行ps显示除了这个java应用程序之外,pod上没有其他进程在运行<任何

  • 我有Kubernetes设置和运行一个grpc服务在一个吊舱。我成功地击中了服务上的一个endpoint,其中有一个print()语句,但在日志文件中没有看到日志。我以前在Kubernetes中运行(cron)作业时见过这种情况,日志只在作业完成后才出现(而不是在作业运行时)。有没有一种方法可以让kubernetes立即写入日志文件?我可以放置任何设置(集群级或仅用于吊舱)?提前感谢您的任何帮助!

  • 问题内容: 就像标题中所说的,绝对路径名和相对路径名有什么区别?我现在正在上一门计算机组织课程,而我正在上的讲座是Unix中的速成班。演讲幻灯片说: 作为参考,“上一张幻灯片”基本上显示了一个文件树,其根目录/为顶级节点。 幻灯片后显示: 我仍然对绝对路径名和相对路径名之间的区别感到困惑。例如,我在Mac上。我的根目录是/。要从/获得我的文档,我必须这样做。 进入文档后,我需要访问一个名为的文件夹

  • 我对Kubernetes是新来的。 我发现了2个pod优先级选项-优先级类别和服务质量。它们之间有什么不同? (https://kubernetes.io/docs/concepts/configuration/pod-priority-preemption/https://kubernetes.io/docs/tasks/configure-pod-container/quality-servi

  • 我的要求是在自定义指标上扩展POD,如队列中的挂起消息,PODS必须增加以处理作业。在kubernetes,Scale up在普罗米修斯适配器和普罗米修斯操作员中工作得很好。 我在pods中有长时间运行的进程,但HPA检查自定义度量并试图缩小规模,因为这个进程杀死了操作的中间并丢失了消息。我如何控制HPA只杀死没有进程运行的自由豆荚。 序列查询:‘{namespace=“default”,serv

  • 我们正在使用Docker 1.19运行库伯内特斯(1.18) Container是一个基于Java13的Spring启动应用程序(使用基本图像作为openjdk: 13-alpin),下面是内存设置。 豆荚: 内存-最小448M,最大2500M cpu-最小值0.1 容器: Xms:256M,Xmx:512M 当流量发送更长时间时,容器会突然重新启动;在Prometheus中,我可以看到Pod内存