《關於我怎麼把一年內學到的新手 IT/SRE 濃縮到 30 天筆記這檔事》 Day 23 Cinder CSI Plugin
本篇大綱
因為我們還沒跟 Persistent Volume 串接起來,要透過 OpenStack 提供的 Cinder CSI Plugin 讓 K8s 可以動態建立 PV。
內文
Cinder CSI Plugin 是 K8s 對於 OpenStack 所寫的擴充套件,可以用來動態建立 PV,讓 PVC 可以自動 Mount 上去。
接下來就一步一步完成。
建立 OpenStack Application Credentials
這裡就仿照 Day 20 所寫的 Application Credentials 去建立,名稱就寫 Cinder CSI K8s,角色就選擇 member。

建立完成以後,就點擊 下載 clouds.yaml,等一下會使用到裡面的內容。

加入 Repo
這裡我們先來把 Kubernetes 官方提供的 OpenStack 相關套件 Repo 加入進去:
1 | |
然後把 cpo/openstack-cinder-csi 的 Values 預設內容變成檔案:
1 | |
接下來就來把參數編輯上去
1 | |
基本上上面的內容不需要做任何變動,往 .secret 欄位看

這裡可以填寫下載的 clouds.yaml 內容,可以照下面的參考網址做參數對應:https://github.com/kubernetes/cloud-provider-openstack/blob/master/docs/openstack-cloud-controller-manager/using-openstack-cloud-controller-manager.md#global
下面就給個範例設定那幾行的內容:
1 | |
安裝 openstack-cinder-csi
建立完成後,就安裝進去吧,官方文件是建議安裝在 kube-system 的 Namespace 裡面,那這裡就照這方向進行:
1 | |

安裝成功就會說使用 StorageClass 這兩個 csi-cinder-sc-retain 跟 csi-cinder-sc-delete 這就可以使用 PV。
這裡就可以建立 PVC:
1 | |
用 apply 套用設定:
1 | |
稍等再檢查一下 PV 跟 PVC,就會發現他們已經 Bound 了

OpenStack 雲硬碟上也會有掛載硬碟到 VM 上

接下來就刪除它:
1 | |
刪除後沒隔多久 PV 就會消失了,那是因為 StorageClass 選了 csi-cinder-sc-delete,遇到 PVC 被刪除,PV 就會跟著移除。

那重要資料需要保留怎麼辦?其實就只要把 StorageClass 改為 csi-cinder-sc-retain,遇到 PVC 被刪除,PV 也不會跟著被刪除。
奇怪的 Liveness 判斷
cinder-csi-plugin 雖然最後有時測上去有成功,但是 liveness 一直自己回應 HTTP 500,還會斷線,但 PVC 這樣測試下來目前都沒有碰到問題,甚至我也用 Service 測試連線了,也都是回傳 OK,沒有跳出錯誤。

基本儲存也具備,那我們就可以來建立監控服務了!
本系列內容也會同步貼到我的 iT 邦幫忙 https://ithelp.ithome.com.tw/users/20112934 歡迎來點一下追蹤,那我們就下一篇文章見啦!
