跳到正文

PV 和 PVC

PV(PersistentVolume,持久卷)是对存储资源的抽象,将存储定义为一种容器应用可以使用的资源。 PV 由管理员创建和配置,与存储提供商的具体实现直接相关,例如文件存储、块存储、对象存储或 DRBD 等, 通过插件式的机制进行管理,供应用访问和使用。除 EmptyDir 类型的存储卷,PV 的生命周期独立于使用它的 Pod。

PVC(PersistentVolumeClaim,持久卷声明)是用户对存储资源的一个申请。就像 Pod 消耗 Node 的资源一样,PVC 会消耗 PV 的资源。 PVC 可以申请存储空间的大小 (Size) 和访问模式(例如 ReadWriteOnce、ReadOnlyMany 或 ReadWriteMany)。

使用 PVC 申请的存储空间仍然不满足应用对存储设备的各种需求。在很多情况下,应用程序对存储设备的特性和性能都有不同的要求, 包括读写速度、并发性能、数据冗余等要求。这就需要使用资源对象 StorageClass,用于标记存储资源和性能,根据 PVC 的需求动态供给合适的 PV 资源。 StorageClass 和存储资源动态供应的机制经完善后,实现了存储卷的按需创建,在共享存储的自动化管理进程中实现了重要的一步。

另请参考 Kubernetes 官方文档: