1 回答
TA贡献1798条经验 获得超7个赞
这是一个很好的问题,因为它突出了某些环境施加限制的方式,这些限制违反了外部软件可能持有的假设。
仅供参考,MapR 已被 HPE 收购,因此 MapR 集群现在是 HPE Ezmeral Data Fabric 集群。我仍在训练自己这么说。
无论如何,语言 X 中的通用程序与 Ezmeral Data Fabric(以前称为 MapR FS 的文件系统)通信的公认方法是挂载文件系统并使用文件 API(如 open/read/write 等)与之通信. 这适用于 Go、Python、C、Julia 或其他任何东西。在 Kubernetes 内部,执行此挂载的常规方法是使用 CSI 驱动程序,该驱动程序有某种操作员在后台工作。那个操作员并不是特别神奇......它只是做需要做的事情。对于 Data Fabric,操作员使用 NFS 或 FUSE 挂载 Data Fabric,然后将 mounts[1] 的一部分绑定到 Pod 的感知中。
但是这个问题很酷,因为它排除了所有这些。如果您无法安装操作员,那么其他这些东西只是一纸空文。
有三种替代方法可能有效。
在 CSI 插件方法标准化之前,NFS 挂载作为原生功能包含在 Kubernetes 中。仍然可以在非常普通的 Kubernetes 集群上使用它,并且可以访问数据集群。
可以将容器集成到您的 pod 中,以非特权方式执行必要的 FUSE 挂载。这会有点痛苦,因为您必须将 FUSE 驱动程序与数据结构安装分开并让它工作。这会让您看到 pod 内的数据结构。即使那样,也不能保证 Kubernetes 或操作系统会允许它工作。
有一个未发布的 Go 文件系统客户端直接使用低级数据结构 API。我们还没有单独发布。有关这方面的更多信息,人们应该直接联系我(我的联系信息无处不在......发送电子邮件至 ted.dunning hpe.com 或 gmail.com 有效)
数据结构允许您通过 S3 访问数据。随着 Ezmeral Data Fabric 7.0 版本的发布,此功能得到了重大改进以提供强大的性能,特别是因为您可以基本上无限制地扩展网关的数量(我听说每个无状态连接到网关的速度为 3-5GB/s,但是YMMV)。这将需要最少的麻烦,并且应该提供足够的性能。您甚至可以像访问 S3 对象一样访问文件。
- 1 回答
- 0 关注
- 80 浏览
添加回答
举报