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)
在容器配置区域,在某一容器的高级配置处,将数据卷挂载到该容器。