前言
在用 k3s 時預設都會部署 local-path
(StorageClass
),方便管理 storage。
但有時候又會碰上需要安裝 longhorn 或是其他 storage 的需求,這時候要手動調整 default 的 StorageClass
。
這邊記錄一下如何調整。
說明
假設你額外安裝 longhorn、且要更新預設的 StorageClass
- 安裝步驟參考這邊。
安裝了 longhorn 之後,會產生一個新的 StorageClass
。
如果我們希望 longhorn 的 StorageClass
成為 default,接著就要手動調整;
如果你希望維持原狀 — 預設採用 local-path
,那就不用做額外的處理。
編輯 k3s 的 local-storage.yaml
k3s 會在服務重啟時,讀取預設的 yaml 檔案。
所以要手動更新 local-storage.yaml
,才能讓 k3s 在重啟之後,不會覆蓋既有的設定:
|
|
找到 StorageClass
的部分,將 is-default-class: "true"
改成 false
。
|
|
Note
- 如果你的 k3s 是 cluster,每一個 master node 都要更新這個 yaml 檔。
更新既有的 local-path
設定
|
|
把 is-default-class: "true"
改成 false
。
|
|
依樣畫葫蘆,
|
|
把 longhorn
的 is-default-class
改成 true
。
|
|
重啟 k3s service 驗證設定沒有被覆蓋
|
|
Note
- 如果你的 k3s 是 cluster,每一個 master node 都要重啟服務驗證。
- 在各個 master 重啟時,要預留時間,等前一個 node 恢復服務再做下一個,避免造成 downtime。
然後可以驗證 default 是否生效:
|
|