云容器引擎支持使用天翼云云硬盘存储卷。当前cstor-csi插件支持使用云盘动态存储卷和静态存储卷,通过将云硬盘存储卷挂载到容器指定目录下,以实现数据持久化需求。
云硬盘挂载可以实现当容器在同一可用区内进行迁移时,挂载的云硬盘也将随之迁移。
通过云硬盘挂载,可以将远端存储系统中的数据直接映射到容器中,即使容器被删除,数据卷中的数据仍然会保存在存储系统中,从而确保数据的安全和持久性。
使用限制
- 共享存储
如果选择非共享盘存储,则同时只能被一个节点挂载,访问模式不能为ReadWriteMany;
如果选择共享盘存储,则可以被多个节点挂载,卷模式仅支持块设备(Block),不能为文件系统(Filesystem); - 卷模式与访问模式
卷模式 访问模式 Block ReadWriteOnceReadWriteManyReadOnlyMany Filesystem ReadWriteOnce
- 跨可用区
非共享盘不支持跨可用区挂载。当Pod重建时,会重新挂载原云盘。若由于其他限制无法调度到原可用区,则Pod将会处于Pending状态。 - 容量
单个数据盘最小容量10GB,最大容量为32TB,最小扩容容量为1GB,扩容步长为1GB。 - 挂载数量
单个节点最多允许挂载8个数据盘,如果需要更多,可以通过提工单方式将上限提到22个。 - 节点类型
昇腾弹性裸金属节点不支持挂载云盘。 - 磁盘模式
当前仅支持云硬盘磁盘模式为VBD。 - 云盘加密
当前暂不支持使用加密盘。 - 与ECS挂载关系
极速型SSD云硬盘仅支持挂载至vCPU数量至少为16且为6代以上的通用计算增强型和内存优化型云主机,并且一台云主机只允许挂载最多3块极速型SSD云硬盘。 - 挂载应用类型
推荐使用有状态应用通过PVC模版方式挂载使用云盘。
无状态应用挂载使用云盘有诸多限制,比如当选择卷模式为Filesystem的存储卷时,无法为每个Pod配置独立的存储卷,所以要求Replica需要配置为1或者保证Pod均调度到同一节点上。此外,由于Deployment的升级策略,重启Pod时新的Pod可能一直无法挂载,故不推荐使用。 - 应用参数配置
创建工作负载时,如果配置了securityContext.fsgroup参数,kubelet在存储卷挂载完成后会执行chmod和chown操作,导致挂载时间延长。
性能规格
云硬盘性能的指标有很多种,例如IOPS,吞吐量,读写时延:
- IOPS:云硬盘每秒进行读写的操作次数,可以细分到单盘最大IOPS,基线IOPS,IOPS突发上限等等。
- 吞吐量:云硬盘每秒成功传送的数据量,即读取和写入的数据量,一般会衡量云硬盘最大吞吐量,每GB云硬盘的吞吐量。
- 读写时延:云硬盘处理一个读写IO需要的时间。
各类型云硬盘的性能比较详见:云硬盘性能介绍
使用场景
根据业务需求,云硬盘类型的存储常见以下使用场景:
- 使用云盘动态存储卷:即用户无需预先创建云硬盘和PV,只需创建PVC时指定存储类(StorageClass),存储插件cstor-csi就会自动创建云盘实例及对应PV资源,推荐使用。
- 使用云盘静态存储卷:即用户预先创建云盘实例,并创建对应的PV资源。之后在创建PVC时选择已有PV进行挂载。适用于已有可用的底层存储或底层存储需要包周期的场景。
- 有状态负载挂载云盘:支持有状态负载通过PVC模版的方式,实现为每一个Pod关联一个独有的PVC及PV,当Pod被重新调度后,仍然能够根据该PVC名称挂载原有的数据。
计费说明
说明通过存储插件动态创建的云盘实例,默认计费模式为按需订购,不支持包年包月。
关于云硬盘的计费详情,请参见:点这里。