全部產品
Search
文件中心

Container Compute Service:在ACS叢集中使用阿里雲儲存

更新時間:Dec 11, 2024

ACS的容器儲存功能基於Kubernetes容器儲存介面(CSI),融合雲端硬碟、NAS、OSS等阿里雲儲存服務,併兼容Kubernetes原生的EmptyDir、ConfigMap等儲存。本文主要介紹ACS支援的阿里雲儲存服務,包括各類儲存服務的特點、應用情境、掛載方式等。

儲存基礎知識

Volume

容器中的檔案在磁碟上是臨時存放的,這給容器中啟動並執行應用程式帶來一些問題:

  • 當一個Pod同時運行多個容器時,無法在這些容器之間共用檔案。

  • 當容器崩潰時,容器重建不會保留容器運行過程中產生的檔案,這將導致檔案丟失。

對於上述問題,Kubernetes抽象出了Volume(資料卷)來實現共用儲存、持久化儲存等能力。

  • Volume是Pod的一部分,只能在Pod中定義,不能獨立建立。Pod中的所有容器都可以使用Volume,但需要將Volume掛載到容器中的目錄下。

  • Volume是Pod與外部存放裝置進行資料傳遞的通道,也是Pod內部容器之間、Pod與Pod之間、Pod與外部環境進行資料共用的方式。

  • Volume有多種類型,例如EmptyDir、ConfigMap、PersistentVolumeClaim(PVC)等。

更多資訊,請參見Volume

PV與PVC

並非所有的Volume都具有持久化特性,為了實現持久化的儲存,容器儲存需依賴於一個遠程儲存服務,為此Kubernetes引入了PV和PVC兩個資來源物件,來定義和使用儲存資源。

  • PV(PersistentVolume,儲存卷)

    PV用於儲存持久化資料,是一種抽象的儲存卷,可以是網路儲存、雲端儲存等。PV可以由叢集管理員提前建立,也可以通過SC(StorageClass,儲存類)動態建立。PV獨立於Pod存在,可以被多個Pod共用。

  • PVC(PersistentVolumeClaim,儲存聲明)

    PVC表達的是使用者對儲存的請求,它指定了Pod需要的PV的容量大小和訪問模式。PVC與PV是一一對應關係,在Pod中使用Volume關聯PVC,即可讓Pod使用到儲存資源。

更多資訊,請參見Persistent VolumesStorage Classes

選擇雲端儲存

阿里雲提供針對各種儲存資源(塊、檔案和對象)的低成本、高可靠、高可用的儲存服務,您可以根據業務負載的儲存需求,考慮資料量、資料訪問頻率、IOPS和輸送量等因素,選擇合適的雲端儲存體服務。

雲端儲存

特點

應用情境

選型參考

雲端硬碟

非共用、低時延、高可靠的資料區塊級隨機儲存。類似物理硬碟,支援分區格式化並建立檔案系統。

  • 高IO、低延時情境

    雲端硬碟具有低時延、高效能等特點,適合對I/O、延遲要求較高的應用情境,例如:資料庫、中介軟體等。

  • 非共用情境

    雲端硬碟為非共用儲存,僅支援掛載到一個Pod上。

支援以下類型的雲端硬碟:

  • cloud_essd_entry:ESSD Entry雲端硬碟

  • cloud_auto:ESSD AutoPL雲端硬碟

  • cloud_essd(預設值):ESSD雲端硬碟

  • cloud_ssd:SSD雲端硬碟

  • cloud_efficiency:高效雲端硬碟

您可以結合雲端硬碟計費、效能等選擇合適的雲端硬碟類型。更多資訊,請參見Block Storage價格Block Storage效能

Apsara File Storage NAS

可共用訪問、彈性擴充、高可靠、高效能的Distributed File System。提供高吞吐和高IOPS的同時,支援檔案的隨機讀寫和線上修改。

  • 共用資料情境

    NAS為共用儲存,支援多個Pod同時訪問一份資料。NAS中的資料不會隨Pod刪除而清空,可用於Pod之間共用資料。

  • 巨量資料分析情境

    NAS提供了較高的資料吞吐能力,能滿足大批量作業對共用儲存訪問的需求。

  • Web應用情境

    為Web應用、內容管理系統提供儲存支撐。

  • 儲存日誌情境

    如果您希望將日誌持久化儲存,推薦使用NAS。

支援通用性NAS和極速型NAS。

您可以結合NAS費用、效能等選擇合適的NAS類型和儲存規格。更多資訊,請參見通用型NAS極速型NAS選型指導

CPFS智算版(邀測)

面向智算業務,提供超高吞吐和IOPS,支援端到端RDMA網路。

  • AIGC、自動駕駛等智算情境

    CPFS智算版具有超高吞吐和IOPS,支援端到端RDMA網路,能滿足智算業務的需求。

僅支援CPFS智算版。

CPFS智算版目前處於邀測中,目前僅部分地區和可用性區域支援。更多資訊,請參見CPFS智算版

Object Storage Service

低成本的海量共用儲存空間,適合儲存寫入後較少修改的資料。

  • 共用資料情境

    OSS為共用儲存,支援多個Pod同時訪問一份資料。OSS中的資料不會隨Pod刪除而清空,可用於Pod之間共用資料。

  • 網頁、應用設定檔等唯讀情境

    ossfs網路效能欠佳,可以支撐一些小檔案的讀情境。

  • 圖片、音視頻等媒體檔案唯讀情境

    OSS適合儲存非結構化資料,如圖片、音視頻等。

您可以結合OSS計費、資料訪問頻率等選擇合適的儲存類型。更多資訊,請參見選型指導儲存類型概述

掛載雲端儲存

儲存外掛程式

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

靜態掛載NAS儲存卷

動態掛載NAS儲存卷

CPFS智算版

靜態掛載CPFS儲存卷

暫不支援

OSS

靜態掛載OSS儲存卷

暫不支援

說明

除持久化儲存外,雲端硬碟也可以作為臨時儲存捲來儲存臨時資料。這類儲存卷會隨Pod一起建立和刪除。具體操作,請參見掛載臨時儲存卷