iT邦幫忙

2024 iThome 鐵人賽

DAY 13
0

yq

首先,昨天有討論 Yaml 無法直接使用環境變數。如果想要動態的修改 Yaml 的內容,其中一種方法就是使用 yq 這個輕量級的 Yaml 處理工具。

  1. MacOS 安裝 yq。
brew install yq
  1. 修改 Yaml 內容。
export HOST_PATH=$HOME/kind
yq e '.nodes[].extraMounts[].hostPath = env(HOST_PATH)' kind-config.yaml > kind-config-updated.yaml

再使用 kind-config-updated.yaml 來部署 Cluster,就會是掛載在正確的路徑了。

local-path-provisioner

在使用 hostPath 建立 Kubernetes Cluster 時,我有注意到 kind 也幫我們自動安裝了名為 standard 的 StorageClass。
https://ithelp.ithome.com.tw/upload/images/20240927/20141794nW8YJ0oYKO.png

StorageClass 的主要作用就是讓我們可以在建立 PVC 時,動態的幫助我們配置相對應的 PV。

而這邊這個 standard StorageClass 是 Rancher 發行的 local-path-provisioner,主要就是用來讓使用者可以透過 Local Storage 來建立 PVC。

https://ithelp.ithome.com.tw/upload/images/20240927/201417945mzZ1cxwkp.png
從這張圖片可以看到,這個 PVC 的 Reclaim Policy 是 Delete,這代表當 Reclaim Policy 為 Delete 的 PVC 被刪掉時,會自動將 PV 也一起刪除。如果 PV 裡面有什麼檔案也就會一併被清除。

我們的目標是一鍵完成部署,並且提供持久化的儲存,所以當然不希望使用這種 PVC 來儲存我們的資源。
這時候我想像中是可以透過將 Reclaim Policy 改為 Retain 來避免這樣的情況。

明天將會進行這部分的實驗~


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

尚未有邦友留言

立即登入留言