参考:https://www.cnblogs.com/zzzynx/p/11064769.html
accessModes:
- ReadWriteOnce – PV 能以 read-write 模式 mount 到单个节点。
- ReadOnlyMany – PV 能以 read-only 模式 mount 到多个节点。
- ReadWriteMany – PV 能以 read-write 模式 mount 到多个节点。
persistentVolumeReclaimPolicy:删除PVC时(非删除PV)
- Retain – 发现pv状态变为 Released,但数据还存在,pv不可以被再次声明使用
- Recycle – 发现pv状态变为 Available,pv(对应挂载卷上的)数据已删除,效果相当于执行 rm -rf
/thevolume,pv可以被再次声明使用,常见的nfs - Delete – 删除 Storage Provider 上的对应存储资源,例如 AWS EBS、GCE PD、Azure
Disk、OpenStack Cinder Volume 等。
PV的生命周期包括 5 个阶段:
-
Provisioning,即 PV 的创建,可以直接创建 PV(静态方式),也可以使用 StorageClass 动态创建
-
Binding,将 PV 分配给 PVC
-
Using,Pod 通过 PVC 使用该 Volume,并可以通过准入控制
StorageProtection(1.9及以前版本为PVCProtection)阻止删除正在使用的 PVC -
Releasing,Pod 释放 Volume 并删除 PVC
-
Reclaiming,回收 PV,可以保留 PV 以便下次使用,也可以直接从云存储中删除
-
Deleting,删除 PV 并从云存储中删除后段存储
根据这 5 个阶段,PV 的状态有以下 4 种
- Available:可用
- Bound:已经分配给 PVC
- Released:PVC 解绑,需要手工删除后段存储,并且释放PV对后段存储的绑定(或删除此PV,然后创建PV,以便PVC可以声明到此类型的PV)
- Failed:发生错误