PVC作用用户对存储资源的需求申请,主要涉及存储空间请求、访问模式、PV选择条件和存储类别等信息设置。
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: test-pvc
spec:
accessModes:
- ReadWriteOnce #访问模式(与PV模式相同) ReadWriteOnce,读写权限,并且只能被单个Node使用
volumeMode: Filesystem #存储卷模式
resources:
requests:
storage: 3Gi #申请3G存储空间
storageClassName: local-storage #要求系统中提交存在名为local-storage的storageClass
selector:
matchLabels:
release: "stable"
PVC参数说明:
- 资源请求(Resources):描述对存储资源的请求,通过rerouces.requests.storage字段设置需要的存储空间大小
- 访问模式(Access Modes):PVC可以设置访问模式,用于描述用户应用对存储资源的访问权限。其中三种访问模式与PV模式相同
- 存储卷模式(Volume Modes):PVC可以设置存储卷模式,用于描述希望使用PV存储卷模式,包括文件系统(Filesystem)和块设备(Block)。PVC设置的存储卷模式与PC存储卷模式相同以实现绑定,如果不同可能会出现绑定失败。
- PV选择条件(Selector):通过Label Selector的设置,可以在系统中已经存在的各种PV进行筛选。系统根据标签选出合适的PV与该PVC绑定
- 存储类别(Class):PVC在定义的时候可以设定需要的后端存储的类型(通过storageClassName字段指定),以减少对后端存储特性的详细信息依赖。只有设置了该Class的PV才能被系统选出阿里,并与该PVC进行绑定。PVC也可以不设置Class需求,如果storageClassName字段值被设置为空(storageClassName="'),则表示该PVC不要求特定的Class,系统将只选择为设定Class的PV与之匹配和绑定。PVC也可以完全不设置storageClassName字段,此时将根据系统是否启用名为DefaultStorageClass的admission controller进行相应操作。
当Selector和Class都设置了,系统将选择两个条件同时满足的PV与之匹配。