持久卷(PersistentVolume,PV)表示Kubernetes集群中后端存储卷的映射关系,是一种Kubernetes API资源。它由管理员统一创建和配置,是集群中的资源抽象层,构建了整个存储基础设施,并独立于Pods的生命周期,实现Pods数据的持久化存储。
管理员可以手动创建静态持久卷,或依据存储类生成动态持久卷。当开发人员需要为应用获取存储资源时,可以通过持久卷声明(PersistentVolumeClaim,PVC)发起申请,系统会自动匹配并绑定到合适的持久卷上。
平台支持两种类型的持久卷管理:
动态持久卷:基于存储类实现。管理员创建存储类,这一Kubernetes资源定义了存储资源的类别。当开发人员创建与特定存储类相关的持久卷声明后,平台会根据PVC及存储类中设定的参数,动态创建一个合适的持久卷,并将其绑定到该PVC,从而实现存储资源的动态分配。
静态持久卷:由管理员手动创建。目前支持HostPath和NFS共享存储两种类型的静态持久卷。当开发人员提交未指定存储类的持久卷声明时,平台会根据PVC中配置的参数匹配并绑定一个合适的静态持久卷。
HostPath:利用节点主机上的某个目录(不支持本地存储)作为后端存储,例如:/etc/kubernetes
,通常仅适用于单节点集群内的测试场景。
NFS共享存储:即网络文件系统,是持久卷常见的后端存储类型,允许用户或程序像访问本地文件一样访问远程系统上的文件。