了解openshift中的持久卷声明模式

Her*_*arn 2 openshift kubernetes openshift-enterprise

我试图了解Openshift中持久卷声明的不同访问模式.从这里找到以下信息

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.
Run Code Online (Sandbox Code Playgroud)

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

这里的混淆是,"单节点"或"多节点"在这里意味着什么.例如,在RWO模式中,"The volume can be mounted as read-write by a single node".它指的是什么节点.

有人可以告诉我这些模式对于单个项目/命名空间重要性.使用RWO的存储是否只能对一个应用程序或项目中的所有应用程序具有写入权限

Rad*_*nka 6

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

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

澄清以下问题:

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