【发布时间】:2020-01-13 19:59:58
【问题描述】:
我们想要部署一个 k8s 集群,该集群将同时运行约 100 个 IO 密集型 Pod。他们都应该能够访问同一个卷。
到目前为止我们尝试了什么:
- CephFS
- 设置起来非常复杂。很难排除故障。最后崩溃了很多,原因还不完全清楚。
- Helm NFS 服务器配置程序
- 运行良好,但是当 IO 达到峰值时,单个副本是不够的。我们根本无法让多个副本工作。
- MinIO
- 是在 k8s 中创建存储桶的好工具。但是我们的操作需要 fs 挂载。这在理论上是可以用 s3fs 实现的,但是由于我们运行大约 100 个 pod,我们需要额外运行 100 个 s3fs 边车。这似乎是个坏主意。
是否必须通过某种方法将 2TB 的数据装载到具有相对高可用性的 GKE 集群中?
Firestorage 似乎可以工作,但它比其他解决方案贵一个数量级,而且由于大量 IO 操作,它很快变得不可行。
我曾考虑在服务器故障上提出这个问题,但 k8s 社区比 SO 的要小很多。
【问题讨论】:
-
您使用的是 Google Kubernetes Engine 吗?您是否尝试过在 PersistentVolumeClaim 中使用非默认存储类?
-
这是一篇关于存储性能的精彩博客vitobotta.com/2019/08/06/…
-
您是否尝试过 Cloud Filestore - cloud.google.com/filestore?这将支持您的用例,但我听说其他人很难从中获得真正好的吞吐量
标签: kubernetes google-kubernetes-engine kubernetes-helm kubernetes-pvc