PVC和PV之间没有依靠ID、名称或者label匹配,而是靠容量和访问模式,PVC的容量和访问模式需要是某个PV的子集才能自动匹配上。注意:PVC和PV是一对一的,也即一个PV被一个PVC自动匹配后,不会再被其它PVC匹配了,即使PVC需求能够完全满足。
PV访问模式
- ReadWriteMany:多路读写,卷能被集群多个节点挂载并读写
- ReadWriteOnce:单路读写,卷只能被单个集群节点挂载读写
- ReadOnlyMany:多路只读,卷能被多个集群节点挂载且只能读

StorageClass
在静态供应模式下,这需要系统管理员需要提前准备好各种不同资源(容量)和访问模式的存储资源。但在大规模集群中会需要众多PV,如果这些PV都需要系统管理员手动逐个创建是很繁琐的。所以Kubernetes又提供了动态供应模式,动态供应的关键是StorageClass,StorageClass的作用就像是创建PV模板,当PVC发出存储资源(容量和访问模式)请求时,Kubernetes的供应者Provisioner根据StorageClass来动态创建PV。StorageClass并不会事先定义PV提供的容量和访问模式,而是根据PVC的容量和访问模式需求自动创建的对应的PV。系统管理员可以针对不同的后端共享存储类型封装不同的StorageClasses供PVC使用。
在静态供应模式下,这需要系统管理员需要提前准备好各种不同资源(容量)和访问模式的存储资源。但在大规模集群中会需要众多PV,如果这些PV都需要系统管理员手动逐个创建是很繁琐的。所以Kubernetes又提供了动态供应模式,动态供应的关键是StorageClass,StorageClass的作用就像是创建PV模板,当PVC发出存储资源(容量和访问模式)请求时,Kubernetes的供应者Provisioner根据StorageClass来动态创建PV。StorageClass并不会事先定义PV提供的容量和访问模式,而是根据PVC的容量和访问模式需求自动创建的对应的PV。系统管理员可以针对不同的后端共享存储类型封装不同的StorageClasses供PVC使用。
