當 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