昨天做了 Reclaim Polciy 的實驗,除了驗證效果外,還可以從下方圖片可以得知,會在 nodePathMap 的 paths 位置下,建立名稱包含 PVC ID 的資料夾。
如果每次建立 PVC 的 ID 都不同,那就算整個資料夾被保存,我想重建 Cluster 時,也無法自動繼承這個 PVC,接下來的實驗會驗證這個猜測。
還需要完成後兩個實驗:
PVC 確實會出現在 /data 的位置。
也會出現在 Container 外部,可以直接存取。
從以上兩張圖可以得知,就算 Namespace 與 PVC Name 相同,資料夾的 PVC ID 也會是不同的。
嘗試修改現有的 StorageClass standard
後發現被拒絕。
看來只能建立新的 StorageClass。
建立新的 StorageClass standard-retain
。
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: standard-retain
provisioner: rancher.io/local-path
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
使用該 StorageClass 建立 PVC mysclaim-rwo-3
,並建立測試檔案 test-pvc.txt
。
刪除以上兩個 PVC,確實只剩下 ReclaimPolicy 為 Retain
的 PVC myclaim-rwo-3
。
重建相同名字的 PVC,會發現還是在不同的路徑,所以確定無法直接繼承檔案內容。
刪除整座 Cluster,並觀察 PVC 狀態。
從第一個實驗可以得知我們有辦法將 PVC 的內容可以從 Containers 外部存取,而第二個實驗我們得知刪除 Cluster 是可以保存 PVC 的資料,但是重建 PVC 是無法簡易的自動繼承資料。