【问题标题】:What storage to use for passing data between pods?使用什么存储在 pod 之间传递数据?
【发布时间】:2021-10-10 10:52:55
【问题描述】:

我正在使用 kubernetes,我需要在 pod 之间传递包含数据集的 parquet 文件,但我不知道哪个选项最有效。

据我所知,永久性磁盘允许我在我的 pod 上挂载一个共享卷,但通过云存储我也可以共享这些文件。

所有流程都托管在谷歌云上。

【问题讨论】:

  • 一如既往,这取决于您的要求、延迟、持久性、I/O 性能 (...)

标签: kubernetes google-cloud-platform google-cloud-storage google-kubernetes-engine


【解决方案1】:

如果你想持久化你必须使用谷歌的文件存储的数据。这将支持许多读写。

GKE 中的持久卷支持使用持久磁盘。 这些磁盘的问题是它们只支持 ReadWriteOnce(RWO)(该卷可以由 单节点)和ReadOnlyMany(ROX)(可以挂载卷 许多节点只读)访问模式。

阅读更多:https://medium.com/@Sushil_Kumar/readwritemany-persistent-volumes-in-google-kubernetes-engine-a0b93e203180

使用磁盘,pods之间无法共享数据,因为它只支持一次读写。单个磁盘将附加到 single 节点。

如果您希望使用CSI driver 在 POD 后面像 cloud bucket 一样挂载存储,您的文件写入 IO 将会非常缓慢。存储可以通过 API 提供更好的性能。

您可以在 Kubernetes 中创建 NFS 服务器并使用它,这将再次提供对多读命令的支持。

Gluster FS & MinIo 是可以使用的选项之一,但是如果要查找 ma​​naged NFS,请使用 filestore谷歌。

【讨论】:

    【解决方案2】:

    当您需要传递大量数据集时,我会说使用本地持久卷,这将具有成本效益和效率。

    【讨论】:

    • 对于本地持久卷,您指的是安装在本地机器上的本地卷吗?所有过程都在谷歌云中完成,所以我不能使用任何本地机器。
    【解决方案3】:

    您应该使用 Google Filestore 作为文件共享。然后你需要:

    1. 创建持久性卷 (PV)
    2. 创建持久性卷声明 (PVC)
    3. 在您的 pod 中使用 PVC

    更多详情here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-07-16
      • 1970-01-01
      • 2017-12-01
      相关资源
      最近更新 更多