3

我试图了解Openshift 中 Persistent Volume Claims 的不同访问模式从这里找到以下信息

Access Mode         CLI Abbreviation             Description
ReadWriteOnce           RWO               The volume can be mounted as read-write by a single node.

ReadOnlyMany            ROX               The volume can be mounted read-only by many nodes.

ReadWriteMany           RWX               The volume can be mounted as read-write by many nodes.

我知道 PVC 绑定到单个项目/命名空间,也可以扩展到不同的项目。

这里的困惑是,这里的“单节点”或“多节点”是什么意思。例如,在RWO模式下,"The volume can be mounted as read-write by a single node". 它指的是什么节点

有人可以告诉我这些模式对于单个项目/命名空间的意义吗?带有 RWO 的存储是否只能对一个应用程序或项目内的所有应用程序具有写入权限

4

1 回答 1

7

整个 RWO 与 RWX 概念与在多个主机上安装相同文件系统的问题有关,这需要支持 ie 之类的东西。分布式锁定。有一些特定的实现可以像 ie 一样处理这个问题。NFS、Ceph、GlusterFS 等通常是面向网络/集群的文件系统。如果您尝试将它们同时挂载到不同的服务器上,其他文件系统将无法正常运行(通常它们只是不允许这样做)。

因此,在这种情况下,节点意味着特定的 kubernetes 集群节点(无论是裸机服务器还是 vm)。但是,通过扩展,您也应该在 POD 的范围内考虑它,因为在大多数情况下,pod 可以在不同的节点上旋转,这意味着它们不能使用相同的卷,或者您不能假设该卷将具有一致的共享状态,就像会发生的那样。使用集群中每个节点唯一的 HostPath 卷。

为了澄清以下问题:

RWO 卷通常与 pod 具有 1:1 的关系。虽然在某些情况下,您可以将 RWO 卷定义为指向同一个物理资源(如 hostPath),但从技术上讲,它们将始终与一个 POD 紧密耦合。如果您使用 PhysicalVolumes / PhysicalVolumeClaims 对象,这将特别明显,这将考虑到将 PV 绑定到 PVC 的这些限制。只有 RWX 卷为您提供由多个 pod 共享的存储,所有 pod 都可以写入它

于 2018-02-14T11:20:03.943 回答