本文介紹阿里云容器服務掛載NAS文件系統的方式,您可以使用CSI存儲插件或使用容器網絡文件系統CNFS掛載NAS文件系統。
請使用以下推薦的方式掛載NAS文件系統。使用其他方式掛載NAS文件系統可能出現穩定性風險,NAS團隊無法預估該風險且由于該風險引起的一切損失和后果均由您自行承擔。
容器服務存儲插件說明
阿里云容器服務Kubernetes版基于Kubernetes容器存儲接口(CSI),深度融合阿里云存儲服務,并完全兼容Kubernetes原生的存儲服務。
容器網絡文件系統CNFS則是阿里云容器服務利用CSI插件抽象出的新的容器存儲管理方式,與傳統CSI使用模式保持兼容。我們推薦您在使用阿里云容器服務時使用CNFS來管理和訪問NAS存儲卷,從而獲得明顯的性能提升和強大的管理能力和I/O可觀測性。
如果您的容器集群規模較小,很少進行彈性伸縮,且主要用于測試目的,您也可以使用HostPath方式使用NAS。更多信息,請參見HostPath數據卷。
如果是自建Kubernetes集群,對于大規模彈性伸縮的集群,建議使用CSI存儲插件訪問文件系統。對于規模穩定集群,建議使用Kubernetes內置存儲卷volume訪問文件系統。更多信息,請參見自建Kubernetes掛載NAS。
存儲插件使用須知如下:
對于新建阿里云容器服務Kubernetes集群,推薦使用CNFS。
對于已經創建的阿里云容器服務Kubernetes集群,建議遷移至CNFS。
對于已經創建的Kubernetes集群,建議沿用已經安裝的存儲插件類型。
關于CSI存儲插件的更多信息,請參見存儲CSI概述。
容器網絡文件系統CNFS(推薦)
在容器中使用傳統的NAS共享文件系統存在小文件讀寫延遲高,缺少容量配額的精確控制、無法恢復誤刪文件、缺失存儲卷可觀測指標等等問題。阿里云容器服務ACK的CNFS將阿里云的文件存儲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存儲插件支持以下兩種掛載方式:
靜態存儲卷掛載,請參見通過NFS使用NAS靜態存儲卷。
動態存儲卷掛載,請參見通過NFS使用NAS動態存儲卷。
更多信息,請參見管理CSI組件、配置NAS NFS存儲卷容量和NAS存儲卷FAQ。
附錄
容器持久化存儲系列課程,請參見玩轉容器持久化存儲。