在Kubernetes集群中设置和使用PV/PVC需遵循以下步骤:
- 创建PersistentVolume(PV):通过YAML定义存储资源,指定容量(如10Gi)、访问模式(ReadWriteOnce/ReadOnlyMany/ReadWriteMany)、存储类型(如NFS路径或云存储标识)及回收策略(Retain/Delete)。
- 创建PersistentVolumeClaim(PVC):用户声明所需存储的大小和访问模式,Kubernetes自动匹配可用PV。若使用动态供给,StorageClass将按需创建PV(如AWS EBS)。
- 挂载PVC到Pod:在Pod配置的
volumes
中引用PVC名称,并在容器内通过volumeMounts
指定挂载路径。 - 生命周期管理:删除PVC时,根据PV回收策略决定是否保留数据(Retain需手动清理,Delete自动销毁底层存储)。
关键注意事项:
- 访问模式与存储后端兼容性(如NFS支持ReadWriteMany,云盘通常仅限ReadWriteOnce)
- StorageClass配置:明确动态供给的provisioner(如kubernetes.io/aws-ebs)及参数(如卷类型gp3)
- 数据持久性:定期备份PV数据(如通过Velero),避免误删Retain策略的PV导致数据丢失
- 监控与扩缩容:通过kubectl get pv/pvc监控使用率,云环境可结合CSI驱动实现卷扩容