回收持久卷问题:
1.创建pv
2.创建pvc申明绑定pv
3.删除pvc
4.重新apply pvc.yaml文件
kubectl get pvc 会发现pvc状态处于peding
原因:
持久卷回收策略默认为: Retain ,确保在创建持久卷之后将其持久化,让k8s可以再持久卷从持久卷声明中释放后仍然能保留他的卷和数据内容
持久卷策略:
Retain:PV的默认回收策略,删除pv后,挂载卷的数据会保留。可以通过kubectl get pv看到
Recycle:删除卷的内容并使卷可用于再次声明。通过这种方式,持久卷可以被不同的持久卷声明和pod反复使用。但是删除pv以后,挂载卷的数据会被删除掉。
Delete:删除底层存储
解决方法:
手动回收持久卷:
PV策略处于Retain时,将pvc绑定的相关的pv手动删除掉,然后重新创建pv、pvc
自动回收持久卷:
根据自身使用场景去修改持久卷回收策略,
例如:kubectl patch pv your-pvname -p '{"spec":{"persistentVolumeReclaimPolicy":"Recycle"}}
然后删除pvc,等pv的策略状态变为了Recycle,再重新创建pvc