iT邦幫忙

2024 iThome 鐵人賽

DAY 15
1

昨天做了 Reclaim Polciy 的實驗,除了驗證效果外,還可以從下方圖片可以得知,會在 nodePathMap 的 paths 位置下,建立名稱包含 PVC ID 的資料夾。
https://ithelp.ithome.com.tw/upload/images/20240929/20141794RQOKGaW1QZ.png

如果每次建立 PVC 的 ID 都不同,那就算整個資料夾被保存,我想重建 Cluster 時,也無法自動繼承這個 PVC,接下來的實驗會驗證這個猜測。
還需要完成後兩個實驗:

  1. 新建立的 PVC 是否會出現在 /data?
  2. 將 StorageClass 的 AccessModes 改為 Retain 是否可以保留資料?

新建立的 PVC 是否會出現在 /data?

  1. PVC 確實會出現在 /data 的位置。
    https://ithelp.ithome.com.tw/upload/images/20240929/20141794dG996Kne4O.png

  2. 也會出現在 Container 外部,可以直接存取。
    https://ithelp.ithome.com.tw/upload/images/20240929/20141794Gucog2lhzl.png

  3. 從以上兩張圖可以得知,就算 Namespace 與 PVC Name 相同,資料夾的 PVC ID 也會是不同的。

將 StorageClass 的 AccessModes 改為 Retain 是否可以保留資料?

  1. 嘗試修改現有的 StorageClass standard 後發現被拒絕。
    https://ithelp.ithome.com.tw/upload/images/20240929/20141794tC4xSVLhyP.png
    看來只能建立新的 StorageClass。

  2. 建立新的 StorageClass standard-retain

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: standard-retain
provisioner: rancher.io/local-path
reclaimPolicy: Retain
volumeBindingMode: WaitForFirstConsumer
  1. 使用該 StorageClass 建立 PVC mysclaim-rwo-3,並建立測試檔案 test-pvc.txt
    https://ithelp.ithome.com.tw/upload/images/20240929/20141794QzamVDaf4F.png

  2. 刪除以上兩個 PVC,確實只剩下 ReclaimPolicy 為 Retain 的 PVC myclaim-rwo-3
    https://ithelp.ithome.com.tw/upload/images/20240929/20141794QIbJdePZiK.png

  3. 重建相同名字的 PVC,會發現還是在不同的路徑,所以確定無法直接繼承檔案內容。
    https://ithelp.ithome.com.tw/upload/images/20240929/20141794FR9mqA3mdA.png

  4. 刪除整座 Cluster,並觀察 PVC 狀態。
    https://ithelp.ithome.com.tw/upload/images/20240929/2014179474QK3rvWh5.png

結論

從第一個實驗可以得知我們有辦法將 PVC 的內容可以從 Containers 外部存取,而第二個實驗我們得知刪除 Cluster 是可以保存 PVC 的資料,但是重建 PVC 是無法簡易的自動繼承資料。


上一篇
Day 14:local-path-provisioner
下一篇
Day 16:GitLab PVC
系列文
在Local建立完整的開發環境筆記30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言