Kubernetes在多个节点之间共享持久卷

时间:2019-06-12 08:24:24

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

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

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

我已经检查了Kubernetes文档,并且知道GCEPersistentDisks不支持ReadWriteMany,但是无论如何,我认为这种访问方式实在是太过分了。关于ReadOnlyMany,我知道节点可以从PV中读取,但是在这种情况下,我不知道如何或实际上可以修改PV。目前,我最好的选择是使用GCE永久磁盘设置NFS。

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

2 个答案:

答案 0 :(得分:0)

根据官方documentation

  

PVC与PV的结合是一对一的映射。

     

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

因此,恐怕无法按照您的描述去做。

但是,您可能要尝试task queue

请告诉我是否有帮助。

答案 1 :(得分:0)

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

现在创建两个部署。其中之一描述了带有编写应用程序的窗格,并确保您具有一个副本。另一个部署描述了阅读应用程序,您可以将其缩放到任意数量。