更新时间:2024-01-17 gmt 08:00

存储概述-凯发k8国际娱乐官网入口

存储概览

cce的容器存储功能基于kubernetes容器存储接口()实现,深度融合多种类型的云存储并全面覆盖不同的应用场景,而且完全兼容kubernetes原生的存储服务,例如emptydir、hostpath、secret、configmap等存储类型。

图1 容器存储概览类型

cce支持工作负载pod绑定多种类型的存储:

  • 从实现方式上划分,可以分为容器存储接口和kubernetes原生存储。

    类别

    说明

    容器存储接口

    的形式,规定了标准的容器存储接口,可以允许存储供应商使用符合标准的自定义存储插件,通过pvc/pv的形式实现挂载,摒弃了以往需要将插件源码添加到kubernetes代码仓库统一构建、编译、发布的方式。从kubernetes 1.13开始,容器存储接口(csi) 是实现卷插件的推荐方法。

    kubernetes原生存储

    in-tree的形式,通过kubernetes代码仓库统一构建、编译、发布。

  • 从存储介质上划分,可以分为云存储、本地存储和kubernetes资源对象。

    类别

    说明

    应用场景

    云存储

    存储介质为存储供应商提供的云存储,该类别的存储卷挂载均通过pvc/pv形式。

    一般用于存储可用性要求较高的数据,或部分数据需要共享的场景,例如日志保存、媒体资源存放等。

    根据具体的使用场景,您可以选择合适的云存储类型,详情请参见云存储对比

    本地存储

    存储介质为节点本地数据盘或内存,其中本地持久卷为cce提供的自定义存储类型,通过容器存储接口以pvc/pv形式挂载,其余类型均为kubernetes原生存储。

    用于存储非高可用数据,可在io要求较高、延迟低的场景下使用。

    根据具体的使用场景,您可以选择合适的本地存储类型,详情请参见本地存储对比

    kubernetes资源对象

    configmap和secret是集群中创建的资源,属于比较特殊的存储类型,由kubernetes api服务器上的tmpfs(基于ram的文件系统)提供存储。

    configmap一般用于给pod注入配置数据。

    secret一般用于给pod传递敏感信息,例如密码。

云存储对比

对比维度

云硬盘evs

文件存储sfs

极速文件存储sfs turbo

对象存储obs

概念

云硬盘(elastic volume service)可以为云服务器提供高可靠、高性能、规格丰富并且可弹性扩展的块存储服务,可满足不同场景的业务需求,适用于分布式文件系统、开发测试、数据仓库以及高性能计算等场景。

sfs为用户提供一个完全托管的共享文件存储,能够弹性伸缩至pb规模,具备高可用性和持久性,为海量数据、高带宽型应用提供有力支持。适用于多种应用场景,包括hpc、媒体处理、文件共享、内容管理和web服务等。

sfs turbo为用户提供一个完全托管的共享文件存储,能够弹性伸缩至320tb规模,具备高可用性和持久性,为海量的小文件、低延迟高iops型应用提供有力支持。适用于多种应用场景,包括高性能网站、日志存储、压缩解压、devops、企业办公、容器应用等。

对象存储服务(object storage service,obs)提供海量、安全、高可靠、低成本的数据存储能力,可供用户存储任意类型和大小的数据。适合企业备份/归档、视频点播、视频监控等多种数据存储场景。

存储数据的逻辑

存放的是二进制数据,无法直接存放文件,如果需要存放文件,需要先格式化文件系统后使用。

存放的是文件,会以文件和文件夹的层次结构来整理和呈现数据。

存放的是文件,会以文件和文件夹的层次结构来整理和呈现数据。

存放的是对象,可以直接存放文件,文件会自动产生对应的系统元数据,用户也可以自定义文件的元数据。

访问方式

只能在ecs/bms中挂载使用,不能被操作系统应用直接访问,需要格式化成文件系统进行访问。

在ecs/bms中通过网络协议挂载使用。需要指定网络地址进行访问,也可以将网络地址映射为本地目录后进行访问。

提供标准的文件访问协议nfs(仅支持nfsv3),用户可以将现有应用和工具与sfs turbo无缝集成。

可以通过互联网或专线访问。需要指定桶地址进行访问,使用的是http和https等传输协议。

静态存储卷

支持,请参见。

支持,请参见。

支持,请参见。

支持,请参见。

动态存储卷

支持,请参见。

支持,请参见。

不支持

支持,请参见。

主要特点

非共享存储,每个云盘只能在单个节点挂载。

共享存储,可提供高性能、高吞吐存储服务。

高性能、高带宽、共享存储。

共享存储,用户态文件系统。

应用场景

hpc高性能计算、企业核心集群应用、企业应用系统和开发测试等。

说明:

高性能计算:主要是高速率、高iops的需求,用于作为高性能存储,比如工业设计、能源勘探等。

hpc高性能计算、媒体处理、内容管理和web服务、大数据和分析应用程序等。

说明:

高性能计算:主要是高带宽的需求,用于共享文件存储,比如基因测序、图片渲染等。

高性能网站、日志存储、devops、企业办公等。

大数据分析、静态网站托管、在线视频点播、基因测序、智能视频监控、备份归档、企业云盘(网盘)等。

容量

tb级别

sfs 1.0:pb级别

sfs 3.0:eb级别

通用型:tb级别

eb级别

时延

1~2ms

sfs 1.0:3~20ms

sfs 3.0:10ms

通用型:1~5ms

10ms

iops/tps

单盘 33k

sfs 1.0:2k

sfs 3.0:百万级

通用型:最大达100k

千万级

带宽

mb/s级别

sfs 1.0:gb/s级别

sfs 3.0:tb/s级别

通用型:最大为gb/s级别

tb/s级别

本地存储对比

对比维度

本地持久卷(local pv)

本地临时卷(local ephemeral volume)

临时路径(emptydir)

主机路径(hostpath)

概念

将节点的本地数据盘通过lvm组成存储池(volumegroup),然后划分lv给容器挂载使用。

基于kubernetes原生的emptydir类型,将节点的本地数据盘通过lvm组成存储池(volumegroup),然后划分lv作为emptydir的存储介质给容器挂载使用,相比原生emptydir默认的存储介质类型性能更好。

kubernetes原生的emptydir类型,生命周期与容器实例相同,并支持指定内存作为存储介质。容器实例消亡时,emptydir会被删除,数据会永久丢失。

将容器所在宿主机的文件目录挂载到容器指定的挂载点中。

主要特点

低延迟、高io,非高可用的持久卷。

存储卷通过label绑定节点,且为非共享存储,只能在单个pod中挂载。

本地临时卷,存储空间来自本地lv。

本地临时卷,存储空间来自本地的kubelet根目录或内存。

挂载主机节点文件系统上的文件或目录,支持自动创建主机目录,pod可迁移(不绑定节点)。

存储卷挂载方式

不支持静态存储卷

支持

详情请参见。

详情请参见。

详情请参见。

应用场景

io要求高、应用自带高可用方案的场景,例如:高可用部署mysql。

  • 缓存空间,例如基于磁盘的归并排序。
  • 为耗时较长的计算任务提供检查点,以便任务能方便地从崩溃前状态恢复执行。
  • 在web服务器容器服务数据时,保存内容管理器容器获取的文件。
  • 缓存空间,例如基于磁盘的归并排序。
  • 为耗时较长的计算任务提供检查点,以便任务能方便地从崩溃前状态恢复执行。
  • 在web服务器容器服务数据时,保存内容管理器容器获取的文件。

运行一个需要使用节点文件。例如容器中需使用docker,可使用hostpath挂载节点的/var/lib/docker路径。

须知:

hostpath卷存在许多安全风险,最佳做法是尽可能避免使用hostpath。 当必须使用hostpath卷时,它的范围应仅限于所需的文件或目录,并以只读方式挂载。

企业项目支持说明

该功能需要everest插件升级到1.2.33及以上版本。

  • 自动创建存储:

    cce支持使用存储类创建云硬盘和对象存储类型pvc时指定企业项目,将创建的存储资源(云硬盘和对象存储)归属于指定的企业项目下,企业项目可选为集群所属的企业项目或default企业项目

    若不指定企业项目,则创建的存储资源默认使用存储类storageclass中指定的企业项目。
    • 对于自定义的storageclass,可以在storageclass中指定企业项目,详见。storageclass中如不指定的企业项目,则默认为default企业项目。
    • 对于cce提供的 csi-disk 和 csi-obs 存储类,所创建的存储资源属于default企业项目。
  • 使用已有存储:

    使用pv创建pvc时,因为存储资源在创建时已经指定了企业项目,如果pvc中指定企业项目,则务必确保在pvc和pv中指定的everest.io/enterprise-project-id保持一致,否则两者无法正常绑定。

相关文档

分享:
网站地图