【问题标题】:Kubernetes shared persistent volume between multiple nodesKubernetes 在多个节点之间共享持久卷
【发布时间】:2019-10-26 16:50:37
【问题描述】:

我目前正在考虑为 GCP 上的项目设置 Kubernetes pod。

问题 - 我需要设置一个将被多个节点使用的持久共享卷。我需要所有节点都能够从卷中读取,并且只有一个节点必须能够在卷上写入。所以我需要一些建议来实现这一目标的最佳方法是什么?

我查看了 Kubernetes 文档并知道 GCEPersistentDisks 不支持 ReadWriteMany 但无论如何我认为这种访问模式将是一种矫枉过正。关于ReadOnlyMany,我知道节点可以从 PV 中读取,但我不明白在这种情况下如何或什么可以实际修改 PV。目前我最好的选择是使用 GCE 永久磁盘设置 NFS。

该解决方案还应该能够在云端或本地运行。任何建议将不胜感激:)

【问题讨论】:

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


    【解决方案1】:

    假设有一些 NFS 空间可用,可以为其创建两个持久卷声明 (PVC):一个只读,一个读写。 然后,您可以将两个持久卷一对一地绑定到每个 PVC。

    现在创建两个部署。其中之一描述了带有编写应用程序的 pod,并且您确保拥有一个副本。另一个部署描述了阅读应用程序,您可以将其扩展到您喜欢的任何数量。

    【讨论】:

      【解决方案2】:

      据官方documentation

      PVC 到 PV 的绑定是一对一的映射。

      一个卷一次只能使用一种访问模式挂载,即使 它支持很多。例如,可以将 GCEPersistentDisk 挂载为 单个节点的 ReadWriteOnce 或多个节点的 ReadOnlyMany,但不是 同时。

      所以我担心这不可能按照你的描述来做。

      不过,你可能想试试task queue

      如果有帮助,请告诉我。

      【讨论】:

        猜你喜欢
        • 2019-09-12
        • 1970-01-01
        • 2016-05-23
        • 2019-03-14
        • 2018-12-21
        • 2021-06-24
        • 2019-11-12
        • 2021-04-04
        • 2019-03-11
        相关资源
        最近更新 更多