更新时间:2024-04-30 GMT+08:00
分享

容器中挂载存储

容器中挂载存储有多种方式,不同的场景下推荐的存储方式不一样,详情如表1所示。

容器存储的基础知识了解请参见存储基础知识,有助您理解本章节内容。

表1 容器挂载存储的方式及差异

容器挂载存储的方式

使用场景

特点

挂载操作参考

EmptyDir

适用于训练缓存场景。

Kubernetes的临时存储卷,临时卷会遵从Pod的生命周期,与Pod一起创建和删除。

使用临时存储路径

HostPath

适用于以下场景:

  1. 容器工作负载程序生成的日志文件需要永久保存。
  2. 需要访问宿主机上Docker引擎内部数据结构的容器工作负载。

节点存储。多个容器可能会共享这一个存储,会存在写冲突的问题。

Pod删除后,存储不会清理。

使用主机路径

OBS

适用于训练数据集的存储。

对象存储。常用OBS SDK进行样本数据下载。存储量大,但是离节点比较远,直接训练速度会比较慢,通常会先将数据拉取到本地cache,然后再进行训练任务。

SFSTurbo

适用于海量小文件业务场景。

  • 提供posix协议的文件系统;
  • 需要和资源池在同一个VPC下或VPC互通;
  • 价格较高。

SFS

适用于多读多写场景的持久化存储。

适用大容量扩展以及成本敏感型的业务场景,包括媒体处理、内容管理、大数据分析和分析工作负载程序等。

SFS容量型文件系统不适合海量小文件业务。

EVS

适用于Notebook场景,开发过程的数据持久化。

每个云盘只能在单个节点挂载。

存储大小根据云硬盘的大小而定。

数据盘空间分配详细说明请参见文档数据盘空间分配说明

常见问题

当用户发现可访问的存储空间比较小,如果没有挂载任何外部存储,则可用存储空间根据dockerBaseSize的配置来决定。

建议:挂载外部存储空间解决存储空间受限问题。

分享:

    相关文档

    相关产品