在kubernetes中,您可以设置pod,pv或pvc级别的卷权限。您可以将pv | pvc定义为只读,但如果只读,则仍然可以写入挂载点。false这很令人困惑。我读了很多关于这方面的文章,但仍然不能完全理解其目的。
我的理解:
- pv级别的权限用于从主机文件系统请求可用资源,并且至少具有pv中定义的相同权限。
- pvc级别的权限用于请求pv至少具有pvc中定义的相同权限。
- pod级别的权限用于设置挂载点的权限。
如果我错了请纠正我
PV
(和PVC
)的访问模式仅用于绑定PVC
(PV
)。
正如你在github讨论中看到的:
AccessModes按照今天的定义,只描述节点附加(不是pod挂载)语义,并且不强制任何东西。
此外,您可以在PV AccessModes文档中找到有用的信息:
卷的AccessModes是卷的能力的描述符。它们不是强制的约束。存储提供程序对因无效使用资源而导致的运行时错误负责。例如,NFS提供ReadWriteOnce访问方式。如果要使用卷的ROX功能,必须将声明标记为只读。
要执行readOnly
模式,可以使用:
Pod.spec.volumes.persistentVolumeClaim.readOnly
-控制音量是否处于只读模式
我想这个答案可能对你很有帮助。