kubernetes - 使用什么存储在 pod 之间传递数据?
问题描述
我正在使用 kubernetes,我需要在 pod 之间传递包含数据集的 parquet 文件,但我不知道哪个选项最有效。
据我所知,永久性磁盘允许我在我的 pod 上挂载一个共享卷,但是通过云存储,我也可以共享这些文件。
所有过程都托管在谷歌云上。
解决方案
如果你想持久化数据,你必须使用谷歌的文件存储。这将支持许多读写。
使用 Persistent Disks 支持 GKE 中的 Persistent Volumes。这些磁盘的问题是它们仅支持 ReadWriteOnce(RWO)(卷可以被单个节点以读写方式挂载)和 ReadOnlyMany(ROX)(卷可以被多个节点以只读方式挂载)访问模式。
使用磁盘,无法在pod之间共享数据,因为它只支持一次读写。单个磁盘将附加到单个节点。
如果你期待cloud bucket
在 POD 后面使用挂载存储CSI driver
,你的文件写入IO会很慢。存储可以通过 API 提供更好的性能。
您可以在 Kubernetes 中创建 NFS 服务器并使用它,这将再次提供支持以读取许多命令。
Gluster FS和MinIo是可以使用的选项之一,但是如果要查找托管 NFS ,请使用Google的文件存储。
推荐阅读
- javascript - 当使用切片调用函数时,javascript获取指定数量的数组
- sql-server - 配置 SSRS 2017 以使用 LDAP 进行用户身份验证
- javascript - 如何使用JS动态删除表格中的内容
- java - 添加两条边 - JGraphT
- wpf - 在可观察集合上使用数据绑定时,数据网格值未在 wpf vb.net 中更新
- javascript - JavaScript:如何使用 Braintree paymentMethod nonce bu
- linux - 从任何文件内容中提取/解析所有子域和域
- oracle - 如何在 Oracle Apex 中检索递归信息?
- javascript - 在 D3 中显示 min() 和 max() 时出错
- javascript - S3 文件名的输入验证模式是什么?