ACS的容器儲存功能基於Kubernetes容器儲存介面(CSI),融合雲端硬碟、NAS、OSS等阿里雲儲存服務,併兼容Kubernetes原生的EmptyDir、ConfigMap等儲存。本文主要介紹ACS支援的阿里雲儲存服務,包括各類儲存服務的特點、應用情境、掛載方式等。
儲存基礎知識
Volume
PV與PVC
選擇雲端儲存
阿里雲提供針對各種儲存資源(塊、檔案和對象)的低成本、高可靠、高可用的儲存服務,您可以根據業務負載的儲存需求,考慮資料量、資料訪問頻率、IOPS和輸送量等因素,選擇合適的雲端儲存體服務。
雲端儲存 | 特點 | 應用情境 | 選型參考 |
非共用、低時延、高可靠的資料區塊級隨機儲存。類似物理硬碟,支援分區格式化並建立檔案系統。 |
| 支援以下類型的雲端硬碟:
您可以結合雲端硬碟計費、效能等選擇合適的雲端硬碟類型。更多資訊,請參見Block Storage價格和Block Storage效能。 | |
可共用訪問、彈性擴充、高可靠、高效能的Distributed File System。提供高吞吐和高IOPS的同時,支援檔案的隨機讀寫和線上修改。 |
| 支援通用性NAS和極速型NAS。 | |
面向智算業務,提供超高吞吐和IOPS,支援端到端RDMA網路。 |
| 僅支援CPFS智算版。 CPFS智算版目前處於邀測中,目前僅部分地區和可用性區域支援。更多資訊,請參見CPFS智算版。 | |
低成本的海量共用儲存空間,適合儲存寫入後較少修改的資料。 |
|
掛載雲端儲存
儲存外掛程式
CSI是當前Kubernetes社區推薦的儲存外掛程式實現方案,ACS提供了managed-csiprovisioner作為ACS叢集的CSI外掛程式,支援基於阿里雲儲存資源的儲存卷。
在儲存卷的掛載、卸載、建立、刪除等操作上,CSI外掛程式需要您授予其訪問阿里雲其他產品資源的許可權。CSI外掛程式使用RAM角色授權的方式申請建立AliyunCCCSIPluginRole角色,從而訪問您在其他雲產品中的資源。更多資訊,請參見授權概述。
掛載方式
通過PV描述阿里雲儲存資源(如雲端硬碟、NAS檔案系統等),通過PVC綁定PV,然後在Pod的Volume中聲明要使用的PVC,可以實現掛載雲端儲存。根據云儲存資源對應PV在建立方式上的差異,掛載雲端儲存的方式可以分為以下兩種:
靜態掛載
根據已有的雲端儲存資源建立PV(即靜態儲存卷),在PVC中直接綁定PV,以此可以實現靜態掛載。該方式可以保證PV在容器啟動前已經就緒,適用於已有儲存資源的情境。
動態掛載
通過StorageClass定義要動態建立的雲端儲存資源,在PVC中關聯StorageClass,系統會根據PVC和StorageClass的配置,自動建立並綁定PV(即動態儲存裝置卷),以此可以實現動態掛載。該方式無需提前建立PV,更加靈活和自動化。
各類型儲存卷的掛載操作參考如下:
雲端儲存 | 靜態掛載 | 動態掛載 |
雲端硬碟 | 暫不支援 | |
NAS | ||
CPFS智算版 | 暫不支援 | |
OSS | 暫不支援 |
除持久化儲存外,雲端硬碟也可以作為臨時儲存捲來儲存臨時資料。這類儲存卷會隨Pod一起建立和刪除。具體操作,請參見掛載臨時儲存卷。