本文為您介紹NAS存儲卷常見問題的處理方法。
NAS存儲卷掛載時間延長
問題現象:
NAS存儲卷掛載時間延長。
問題原因:
若您在應用模板中配置了securityContext.fsgroup參數,kubelet在存儲卷掛載完成后會執行chmod
或chown
操作,導致掛載時間延長。
解決方法:
- 若應用模板中配置了securityContext.fsgroup參數,請刪除securityContext下的fsgroup參數。
- 若需要將掛載目錄內文件變成期望的UID和mode,可以手動將目標目錄掛載到一臺ECS。關于ECS實例掛載文件系統,請參見通過控制臺實現ECS實例一鍵掛載文件系統。再通過命令行執行
chown
和chmod
,完成后通過Flexvolume使用NAS存儲卷。關于如何通過Flexvolume使用NAS存儲卷,請參見使用NAS靜態存儲卷和使用NAS動態存儲卷。 - 對于1.20及之后版本的Kubernetes集群,除了上述兩種解決方法外,也可通過將fsGroupChangePolicy配置為OnRootMismatch,這時只有在首次啟動時才會執行
chmod
或chown
操作,導致存在掛載時間延長的問題,后續掛載NAS存儲卷時掛載時間將恢復正常。關于fsGroupChangePolicy參數的更多信息,請參見為Pod或容器配置安全性上下文。
NAS存儲卷掛載失敗時出現timeout錯誤
問題現象:
NAS存儲卷掛載失敗時出現timeout錯誤。
問題原因:
NAS掛載點和集群不在同一VPC內。
解決方法:
選擇與集群在同一VPC內的NAS掛載點。
使用NAS存儲卷時,提示chown: option not permitted
問題現象:
使用NAS存儲卷時,提示chown: option not permitted。
問題原因:
您的容器沒有權限使用該NAS存儲卷。
解決方法:
您需要使用root權限啟動容器。
掛載NAS存儲卷失敗
問題現象:
掛載NAS PV失敗,并報以下錯誤:
Unable to mount volumes for pod "dp-earnings-pod_default(906172c6-3d68-11e8-86e0-00163e00****)": timeout expired waiting for volumes to attach/mount for pod "default"/"dp-earnings-pod". list of unattached/unmounted volumes=[vol1 vol2]
問題原因:
您沒有安裝Flexvolume插件。
解決方法:
您需要安裝Flexvolume插件。具體操作,請參見安裝與升級Flexvolume組件。
使用NAS動態存儲卷時Controller的任務隊列已滿且無法創建新的PV
問題現象:
使用NAS動態存儲卷時,若創建子目錄寫入速度快于Controller刪除子目錄速度,將可能導致Controller的任務隊列阻塞且無法創建新的PV。
問題原因:
當集群使用動態NAS存儲卷時,配置的StorageClass回收策略reclaimPolicy為Delete且archiveOnDelete為false。
解決方法:
將archiveOnDelete配置為true,當刪除PV時只是修改NAS文件系統中子目錄的名稱,而不是真正刪除文件。
具體的文件刪除操作需要您自行處理,例如:在某個節點過載根目錄啟動定時刪除機制,或啟動多個Pod并發刪除某種格式的子目錄。
文檔內容是否對您有幫助?