ECI實例支持掛載數據卷作為持久化存儲。本文介紹ECI支持的數據卷及其配置方式。
數據卷介紹
容器中的文件在磁盤上是臨時存放的,這給容器中運行的應用程序帶來一些問題:
當容器崩潰時,容器重建不會保留容器運行過程中產生的文件,會導致文件丟失。
當一個ECI實例中同時運行多個容器時,無法在這些容器之間共享文件。
對于上述問題,ECI支持通過數據卷(Volume)的方式來解決。目前ECI支持掛載以下幾類數據卷:
數據卷類型 | 說明 | OpenAPI | 控制臺 |
云盤 | 云盤是阿里云提供的數據塊級別的存儲產品,具有低時延、高性能、持久性、高可靠等特點。更多信息,請參見云盤概述。 云盤數據卷適用于以下場景:
| 支持 | 不支持 |
NAS | NAS是阿里云提供的一種可共享訪問、彈性擴展、高可靠以及高性能的分布式文件系統。更多信息,請參見文件存儲NAS概述。 NAS數據卷適用于以下場景:
| 支持 | 支持 |
OSS | OSS是阿里云提供的一個海量、安全、低成本、高可靠的存儲空間,適合存儲非結構化數據(如圖片、音視頻等)。更多信息,請參見對象存儲OSS概述。 OSS數據卷適用于以下場景:
| 支持 | 支持 |
EmptyDir | 臨時目錄,用于臨時存放數據,便于容器之間共享數據。EmptyDir數據卷中的數據會隨實例刪除而清空。 重要 EmptyDir為臨時存儲,重啟ECI實例時,EmptyDir數據卷中保存的數據也會被清空。 | 支持 | 支持 |
ConfigFile | 配置文件,用于向ECI實例注入配置數據。 | 支持 | 支持 |
配置說明
使用數據卷時,需要先聲明數據卷,然后將數據卷掛載到容器中。
OpenAPI
調用CreateContainerGroup接口創建ECI實例時,您可以通過Volume.N.Name和Volume.N.Type參數,明確數據卷的名稱和類型。根據Volume.N.Type的取值,可創建不同類型的數據卷,各類型數據卷需要進一步配置相關參數。
Volume.N.Type取值 | 說明 | 相關文檔 |
EmptyDirVolume | EmptyDir類型的數據卷,表示臨時目錄。 | |
ConfigFileVolume | ConfigFile類型的數據卷,表示配置文件。 | |
NFSVolume | NFS類型的數據卷,表示網絡文件系統,例如NAS。 | |
FlexVolume | 使用FlexVolume插件擴展存儲類型,支持掛載云盤、NAS和OSS。 |
Volume.N.Type取值還支持DiskVolume,表示云盤數據卷,目前不推薦使用。建議您使用FlexVolume掛載云盤。
聲明數據卷后,可以通過Container.VolumeMount相關參數將數據卷掛載到容器中。
控制臺
通過彈性容器實例售賣頁創建ECI實例時,您可以在容器組配置區域聲明數據卷,然后在容器配置區域,將數據卷掛載到容器中。
在容器組配置區域的高級配置處,聲明數據卷。
目前控制臺僅支持配置以下幾類數據卷:
配置項(ConfigFile)
臨時目錄(EmptyDir)
NAS持久化存儲(NFS)
OSS持久化存儲(FlexVolume)
在容器配置區域,在某一容器的高級配置處,將數據卷掛載到該容器。