从上次读取点开始从 kubernetes pod 读取日志

问题描述 投票:0回答:1

我想以日志或日志文件的形式从 k8s pod 读取数据。我想在特定时间间隔后但从上次读取点开始读取它。以前的数据不应重复。目前,对于 pod 日志,我使用 watchLog:

LogWatch logWatch =client.pods()
                    .inNamespace(namespace)
                    .withName(podName)
                    .sinceSeconds(10).watchLog();

上面的代码每次都会给我从头开始的所有日志。

另外,我正在尝试读取应用程序特定的日志文件,如下所示:

InputStream is = client.pods()
                  .inNamespace(namespace)
                  .withName(podName)
                  .file("/app/logs/demo.log")
                  .read())  {
                    String result = new BufferedReader(new 

InputStreamReader(is)).lines().collect(Collectors.joining("\n"));
                        System.out.println("> "+result);
            

读取文件也有同样的问题。

如何使用fabric8客户端获取最新日志/数据?

kubernetes fabric8 fabric8-kubernetes-client
1个回答
0
投票

没有直接选项,因此我使用 Java 中的 Runtime util 来执行 tail 命令。

© www.soinside.com 2019 - 2024. All rights reserved.