PersistentVolume(PV)是 Kubernetes 集群中由管理员预先配置的存储资源,用于为应用提供持久化存储,确保数据在 Pod 重启或迁移后保留。以下是从技术支持角度常用的解决方案及步骤:
-
静态配置方案
- 创建 PV:定义 PV 的 YAML,指定存储容量、访问模式(如 ReadWriteOnce)、存储后端(如 NFS、云存储)及回收策略(Retain/Delete)。
- 创建 PVC:用户提交 PVC 请求,匹配 PV 的容量和访问模式,Kubernetes 自动绑定可用 PV。
- 挂载到 Pod:在 Pod 的
volumes
中引用 PVC,通过volumeMounts
挂载到容器路径。
-
动态配置方案(推荐云环境)
- 定义 StorageClass:配置动态供应器(如 AWS EBS、GCP PD),设置参数(类型、区域)。
- 创建 PVC:在 PVC 中指定 StorageClass 名称及资源需求,触发自动创建 PV 并绑定。
- Pod 使用 PVC:同静态方案,挂载 PVC 到容器。
注意点:
- 访问模式需与存储后端兼容,如 NFS 支持 ReadWriteMany,云盘多为 ReadWriteOnce。
- 生产环境建议回收策略设为 Retain,避免误删数据。
- 排查 PVC Pending 问题:检查 StorageClass 是否存在、资源配额及后端存储状态。