概述
更新时间:2023-09-12
容器的特性决定了容器本身是非持久化的,容器被删除后容器内的数据也一并被删除,CCE 基于百度云存储产品,提供了容器数据共享和持久化解决方案,适用于大数据分析、媒体、游戏等很多场景。
PV(PersistentVolume)和 PVC(PersistentVolumeClaim)是 K8S 提供的用于抽象存储细节的 API 资源。在集群内创建 PV 和 PVC 资源,用户可以直接将百度云存储作为存储卷挂载到容器中,而无需关注底层的实现细节,从而更加便捷地为容器集群提供持久化存储方案。
- PV:持久卷,集群内的存储资源。PV 独立于 Pod 的生命周期,可根据不同的 StorageClass 类型创建不同类型的 PV。
- PVC:持久卷声明,集群内的存储请求,请求存储资源的声明。
- Volume:数据卷,是Pod与外部存储设备进行数据传递的通道,也是Pod内部容器间、Pod与Pod间、Pod与外部环境进行数据共享的方式。
说明
数据卷(Volume)生命周期和Pod一致,即Pod被删除的时候,数据卷(Volume)也一起被删除(Volume中的数据是否丢失取决于Volume的具体类型)。
CCE 容器引擎支持多种类型的存储,并且支持 K8S 的静态存储卷与动态存储卷。
存储类型
CCE 基于百度云存储产品 CDS、BOS、CFS 对不同存储类型提供完整支持:
存储类型 | 说明 |
---|---|
本地存储 | 包含 HostPath,EmptyDir,ConfigMap,Secret 等类型 |
云盘 CDS | 通过 PV/PVC 使用,包含静态和动态两种方式 |
文件存储 CFS | 通过 PV/PVC 使用,包含静态和动态两种方式 |
并行文件存储 PFS | 通过 PV/PVC 使用,包含静态和动态两种方式 |
对象存储 BOS | 通过 PV/PVC 使用,只可使用静态存储卷 |
说明
建议使用云存储产品,否则当节点异常无法恢复时,本地存储的数据同样不能恢复。
存储选型
有数据持久化需求的服务,建议直接使用云存储(CDS、CFS、PFS、BOS),本地存储当节点异常无法恢复时,本地磁盘中的数据也可能丢失,下面简单介绍不同云存储的使用场景:
- 云磁盘 CDS:Pod 和 CDS 是一对一的关系,不支持多个 Pod 挂载一块 CDS,CDS 提供数据块级别的持久性存储,通常用作需要频繁更新、细粒度更新的数据(如文件系统、数据库等)的主存储设备,具有高可用、高可靠和高性能的特点;
- 文件存储 CFS:Pod 和 CFS 是多对一的关系,支持多读多写,CFS 提供了标准的 NFS 文件系统访问协议,为多个 Pod 提供文件共享能力,支持弹性容量和性能的扩展,是一种高可用、高可靠的分布式文件系统,适合于大数据分析、媒体处理、内容管理等场景;
- 并行文件存储 PFS:Pod 和 PFS 是多对一的关系,支持多读多写,PFS 提供了完全托管、简单可扩展的并行文件存储系统,针对高性能计算场景提供亚毫秒级的访问能力和高IOPS的数据读写请求能力。
- 对象存储 BOS:Pod 和 BOS 是多对一的关系,支持一写多读,BOS 适用于数据分发、数据备份、大数据分析、音视频文件处理等各类场景。