【问题标题】:What happens if you have a Filestorage of 1tb but a persistent volume claim of 20gb only?如果您的文件存储为 1tb,但持久卷要求仅为 20gb,会发生什么情况?
【发布时间】:2021-08-03 19:02:58
【问题描述】:

在 Kubernetes,更具体地说是 GKE,我创建了一个 Filestore 卷,最小为 1TB。

然后我创建了一个 20gb 的持久卷声明。

如果我为另一个服务创建另一个 20gb PVC 会发生什么?

具体来说,如果你想在 pod 之间共享磁盘空间但有不同的数据,这种存储是如何工作的? Google 是否会“批量”请求 X gb 并在磁盘中保留此空间?

【问题讨论】:

    标签: kubernetes google-kubernetes-engine persistent-volumes persistent-volume-claims google-cloud-filestore


    【解决方案1】:

    PVC 和 PV 之间存在一对一的映射关系,因此您不能创建多个 PVC 指向同一个 PV。

    但您可以通过两种可能的方式在多个 pod 之间共享底层 Filestore 文件。

    1. 您可以在多个 pod 之间共享一个 PVC。因此,您可以在所有 pod 中创建一个具有所需存储总量的单个 PVC(或将其设置为 Filestore 实例的大小)。然后,您将在所有 pod 上安装相同的 PVC。为确保您没有任何数据冲突,每个 pod 都应写入 PVC 中自己的目录。这肯定会起作用,但不会限制或报告单个 pod 使用的存储空间。

    2. 您可以创建由同一个 Filestore 实例支持的多个 PV。创建每个 PV 时,指定每个 PV 的存储大小。然后为每个 pod 创建 PVC。我相信您仍然希望确保每个 pod 都写入一个唯一的目录。

    最后,除非您有使用 Filestore 实例的特定原因,否则请考虑使用 GCE PD 的动态配置。

    【讨论】:

    • 谢谢,我肯定会删除 Filestore,因为它太贵了。我需要保存一些在我的容器中生成的 PDF。由于该应用程序可以有多个副本,因此我需要一个 ReadWriteMany。我想我会创建一个 NFS……你知道更好的选择吗?
    • 运行您自己的 NFS 服务器会起作用,但当然这是您必须运行/管理的另一件事。您可能想看看 Google Cloud Storage (cloud.google.com/storage)。您不会使用 PVC/PV 访问它,但它非常便宜,并且是可靠存储和检索 PDF 的好地方。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-09-04
    • 2019-11-21
    • 1970-01-01
    • 1970-01-01
    • 2021-01-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多