如何从openshift读取远程服务器上的文件

问题描述

我有一个应用程序(java,Spring引导)在openshift的容器中运行。该应用程序需要转到第三方服务器以读取另一个应用程序的日志。如何才能做到这一点?我可以将日志存储目录安装到容器中吗?还是我需要使用某些协议来远程访问文件并读取它?

远程服务器是普通的Linux服务器。它运行一个以jar形式运行的旧应用程序。它将日志写入本地文件夹。在Pod(使用Linux)上运行的应用程序需要读取该文件并进行解析

解决方法

有多种方法可以做到这一点。 如果需要连续访问:

  • 具有轮询事件的 Watcher 访问权限(WatchService API)
  • 流缓冲区
  • 使用Java rx 可观察的文件

然后创建一个 NFS 存储可能是公开远程日志并使其成为持久卷的一种可行方法。

否则,如果访问基于一天中某个特定时间的日志轮询,则解决方案包括使用 FTP 解决方案,例如 Apache Commons FTP Client 或使用具有 SFTP 实现的ssh客户端,例如JSch,它是本机Java库。