当 PV 再也不须要时,可经过删除 PVC 回收。html
当 PVC mypvc1
被删除后,咱们发现 Kubernetes 启动了一个新 Pod recycler-for-mypv1
,这个 Pod 的做用就是清除 PV mypv1
的数据。此时 mypv1
的状态为 Released
,表示已经解除了与 mypvc1
的 Bound,正在清除数据,不过此时还不可用。app
当数据清除完毕,mypv1
的状态从新变为 Available
,此时则能够被新的 PVC 申请。ide
/nfsdata/pv1
中的 hello
文件已经被删除了。学习
由于 PV 的回收策略设置为 Recycle
,因此数据会被清除,但这可能不是咱们想要的结果。若是咱们但愿保留数据,能够将策略设置为 Retain
。code
经过 kubectl apply
更新 PV:htm
回收策略已经变为 Retain
,经过下面步骤验证其效果:对象
① 从新建立 mypvc1
。blog
② 在 mypv1
中建立文件 hello
。资源
③ mypv1
状态变为 Released
。get
④ Kubernetes 并无启动 Pod recycler-for-mypv1
。
⑤ PV 中的数据被完整保留。
虽然 mypv1
中的数据获得了保留,但其 PV 状态会一直处于 Released
,不能被其余 PVC 申请。为了从新使用存储资源,能够删除并从新建立 mypv1
。删除操做只是删除了 PV 对象,存储空间中的数据并不会被删除。
新建的 mypv1
状态为 Available
,已经能够被 PVC 申请。
PV 还支持 Delete
的回收策略,会删除 PV 在 Storage Provider 上对应存储空间。NFS 的 PV 不支持 Delete
,支持 Delete
的 Provider 有 AWS EBS、GCE PD、Azure Disk、OpenStack Cinder Volume 等。
下一节咱们学习 PV 的动态供给功能。
书籍:
1.《天天5分钟玩转Kubernetes》
https://item.jd.com/26225745440.html
2.《天天5分钟玩转Docker容器技术》
https://item.jd.com/16936307278.html
3.《天天5分钟玩转OpenStack》
https://item.jd.com/12086376.html