天翼云云容器引擎提供多种容器存储类型,作为各类天翼云存储产品在容器侧的接入方式,为工作负载提供数据持久化服务。
在使用过程中,用户可能对如何选择容器存储存在疑问。本文将从容器视角出发,分析天翼云各存储产品通过CSI在容器场景下的应用特点及优劣,供您参考选择。
说明
选择容器存储还需考虑功能特性、时延、带宽、应用场景及产品规格等因素。本文档未详细展开这些内容,相关具体信息请参考天翼云存储产品文档。本文仅从容器使用角度进行对比分析。
云硬盘
优势
低时延
支持文件系统及块设备使用(块设备极少被容器应用直接使用,需用户自行管理无文件系统的块设备)
最小容量10GB,适合轻量存储需求
产品覆盖广泛,各资源池及可用区均支持
劣势
不支持跨可用区挂载,数据存储在云硬盘所在的可用区。若可用区故障,数据不可用。(例如云硬盘是在可用区1,节点在可用区2,则云硬盘无法完成挂载使用。)
文件系统模式下不支持多机读写(ReadWriteMany),不支持多个节点挂载同一个带文件系统的云硬盘。
海量文件
优势
中等时延
支持多机读写(ReadWriteMany),支持多节点可以挂载同一个海量文件。
最小容量可达100GB,是共享文件存储中容量门槛最低的产品。
部分资源池支持按实际使用量计费,灵活性高。
天翼云文件存储产品中主推产品。
支持跨可用区挂载。(例如节点在可用区1可挂载可用区2的海量文件)
适合海量小文件场景。
劣势
数据存储在海量文件所在的可用区,若海量文件所在的可用区存储故障,海量文件不可用。
目前天翼云资源池还在逐步铺开部署中,部分资源池暂未支持,使用前需确认资源池覆盖情况。
跨可用区挂载可能存在性能损耗,对性能敏感场景建议容器与存储部署在同一可用区。
建议
在多节点需共享访问数据的场景优先考虑此类存储。
弹性文件
优势
中等时延
支持多机读写(ReadWriteMany),多个节点可以挂载同一个弹性文件。
支持跨可用区挂载。(例如节点在可用区1可挂载可用区2的海量文件)
劣势
数据存储在弹性文件所在的可用区,如果弹性文件所在的可用区的存储出现故障,弹性文件不可用。
跨可用区挂载可能影响性能,建议对性能要求高的场景将容器与存储置于同一可用区
产品处于逐步下线阶段,后续将由海量文件替代
起步容量500GB,对轻量用户负担较重
并行文件
优势
较低时延
支持多机读写(ReadWriteMany),多个节点可以挂载同一个并行文件。
适合智算场景,目前仅智算版云容器引擎支持。
劣势
不支持跨可用区挂载,可用区故障时数据不可用。(如文件在可用区1而节点在可用区2则无法挂载)
数据存储在创建可用区,依赖该可用区稳定性。
起步容量512GB且价格较高。
对象存储
优势
价格便宜
支持多机读写(ReadWriteMany),多个节点可以挂载同一个对象存储桶。
上传方便,可以通过存储控制台、restful api、兼容S3的客户端工具,直接上传对象到远端存储内。
支持多可用区冗余配置,单个可用区故障不影响数据访问。
按实际使用量(容量、请求次数、流量等)计费,灵活性强
存储容量无上限
劣势
时延较高
通过CSI挂载为文件系统时,部分文件系统的实现无法支持,受到协议转换、内核空间切换的影响,IO性能会大打折扣。
CSI管理存储桶时,若存储桶存在对象则无法彻底删除。PVC和PV会被删除,而存储桶会被保留,需手动清理。(CSI版本需要大于等于4.0.0)
单个节点最多挂载4个对象存储PVC。
并发写入时无法保证数据一致性,建议仅用于多机只读(ReadOnlyMany)场景
建议
在K8S场景下使用对象存储时,尽量避免通过CSI的方式去把对象存储挂载为文件系统到容器中使用。建议使用S3 SDK对接对象存储。
本地存储
优势
不涉及费用,复用节点上已有的存储。
创建和使用便捷
容量受节点本地存储限制,但无预设上限
劣势
仅支持单机读写(ReadWriteOnce)。
使用本地存储的Pod只能调度到拥有该存储的节点。