本文介紹阿里雲Container Service掛載NAS檔案系統的方式,您可以使用CSI儲存外掛程式或使用容器網路檔案系統CNFS掛載NAS檔案系統。
請使用以下推薦的方式掛載NAS檔案系統。使用其他方式掛載NAS檔案系統可能出現穩定性風險,NAS團隊無法預估該風險且由於該風險引起的一切損失和後果均由您自行承擔。
Container Service儲存外掛程式說明
阿里雲Container ServiceKubernetes版基於Kubernetes容器儲存介面(CSI),深度融合阿里雲儲存服務,並完全相容Kubernetes原生的儲存服務。
容器網路檔案系統CNFS則是阿里雲Container Service利用CSI外掛程式抽象出的新的容器儲存管理方式,與傳統CSI使用模式保持相容。我們推薦您在使用阿里雲Container Service時使用CNFS來管理和訪問NAS儲存卷,從而獲得明顯的效能提升和強大的管理能力和I/O可觀測性。
如果您的容器叢集規模較小,很少進行Auto Scaling,且主要用於測試目的,您也可以使用HostPath方式使用NAS。更多資訊,請參見HostPath資料卷。
如果是自建Kubernetes叢集,對於大規模Auto Scaling的叢集,建議使用CSI儲存外掛程式訪問檔案系統。對於規模穩定叢集,建議使用Kubernetes內建儲存卷volume訪問檔案系統。更多資訊,請參見自建Kubernetes掛載NAS。
儲存外掛程式使用須知如下:
對於建立阿里雲Container ServiceKubernetes叢集,推薦使用CNFS。
對於已經建立的阿里雲Container ServiceKubernetes叢集,建議遷移至CNFS。
對於已經建立的Kubernetes叢集,建議沿用已經安裝的儲存外掛程式類型。
關於CSI儲存外掛程式的更多資訊,請參見儲存。
容器網路檔案系統CNFS(推薦)
在容器中使用傳統的NAS共用檔案系統存在小檔案讀寫延遲高,缺少容量配額的精確控制、無法恢複誤刪檔案、缺失儲存卷可觀測指標等等問題。阿里雲Container ServiceACK的CNFS將阿里雲的Apsara File Storage NAS抽象為一個K8s對象(CRD)進行獨立管理,包括建立、刪除、描述、掛載,監控及擴容等營運操作。並在CSI外掛程式中利用NAS的加速用戶端功能,實現NAS訪問速度的大幅提升。CNFS是免費功能,開啟加速能力後,會消耗Pod中50~100 MB左右記憶體。
指標 | 測試情境① | 未開啟CNFS加速用戶端 | 開啟CNFS加速用戶端 |
中繼資料效能 | 100萬檔案目錄遍曆耗時 | 18min | 小於60s |
建立寫入4 KB檔案耗時 | 3000μs | 小於200μs | |
重複讀取4 KB檔案耗時 | 400μs | 小於100μs | |
吞吐效能 | 單節點讀寫吞吐效能② | 200~500 MB/s | 大於800 MB/s |
綜合情境效能 | 5000張150 KB圖片解壓縮耗時 | 52s | 約15s |
構建Redis專案耗時 | 27s | 約21s |
本文以上表格提供的資料僅為理論值(參考值),實際資料以您的作業環境為準。
註解①:測試資料的ECS機型為ecs.hfg6.4xlarge,測試環境的差異可能導致效能資料有一定偏差。
註解②:ECS網路頻寬和NAS檔案系統規格會影響單節點讀寫吞吐效能。
如果您使用容器網路檔案系統CNFS訪問NAS檔案系統,請參見建立CNFS管理NAS檔案系統(推薦)。
如果您使用容器環境進行科學計算(AI訓練、生物計算等)、搭建CICD平台或者網站服務,建議您開啟CNFS的分布式讀緩衝功能。具體操作,請參見開啟CNFS NAS計算端分布式緩衝。
關於容器網路檔案系統CNFS的更多資訊,請參見通過CNFS管理NAS檔案系統(推薦)。
CSI儲存外掛程式
如果您使用CSI外掛程式掛載NAS檔案系統,請先查閱NAS儲存卷。
CSI儲存外掛程式支援以下兩種掛載方式:
靜態儲存卷掛載:如果您需要手動建立PV,請參見通過NFS使用NAS靜態儲存卷。
動態儲存裝置卷掛載:如果您需要儲存外掛程式(Storage Class)自動建立的PV,請參見通過NFS使用NAS動態儲存裝置卷。
如需更深入地理解和管理CSI外掛程式及CSI Provisioner組件,請參見如下資訊:
更多儲存相關問題,請參見NAS儲存卷FAQ。