k8s之存储卷OpenEBS
一、OpenEBS简介
OpenEBS 是一种开源云原生存储解决方案,托管于 CNCF 基金会,目前该项目处于沙箱阶段。
OpenEBS能够将Kubernetes工作节点上可用的住何存储转换为术卷或分布式复制卷。
OpenEBS 支持两大类卷——本地卷和复制卷。
本地卷
- 本地卷,即节点级卷,仅支持在卷所在的节点本地访问。因此,Pod也必须调度至卷所在的节点才能使用本地卷
- OpenEBS可基于本地块设备或分区、子目录或者LVM、ZFS、甚至是由文件模拟的设备来创建PV,这些可统称为本地卷
复制卷
- 复制卷,是支持是将数据同步复制到多个节点的卷,因而能实现节点容错,以及跨可用区进行数据复制
- OpenEBS可基于Mayastor、cStor、liva三种引擎之一,为每个分布式复制卷创建一个微服务Pod通过iSCSI (cStor和Jiva)或NVMeoF(Mayastor) 连接至卷上
二、OpenEBS存储引擎
OpenEBS提供了一系列的数据引擎,所有引擎都支持PV的动态置备和数据的强一致性.
OpenEBS基于不同的存储引擎实现不同的存储功能。
本地引擎
- 本地引警可以从本地磁盘设备 (依赖于NDM) 或主机路径创建PV,也可基于集群节点上的LVM或ZFS创建PV
- 适合内置可用性和可扩展性功能的应用程序,或者作业类的有状态工作负载
- 基于节点上支持的存储机制,可选的动态Local PV包括 Local PV hostpath、 Local PV device、ZFS Local PV、LVM Local PV和 Rawfile Local PV这五种
复制引擎
- 复制卷,顾名思义,就是那些可以将数据同步复制到多个节点的卷
- 复制引擎允许从复制节点范围内的任一节点上进行数据访问,并支持跨可用区进行复制
- 复制卷通常还支持快照、克隆、扩展等功能
- 基于节点上支持的存储机制,可选的复制引擎包括Mayastor、cStor和Jiva
OpenEBS 存储引擎建议
应用需求 | 存储类型 | OpenEBS 卷类型 |
---|---|---|
低时延、高可用性、同步复制、快照、克隆、精简配置 | SSD/ 云存储卷 | OpenEBS Mayastor |
高可用性、同步复制、快照、克隆、精简配置 | 机械 /SSD/ 云存储卷 | OpenEBS cStor |
高可用性、同步复制、精简配置 | 主机路径或外部挂载存储 | OpenEBS Jiva |
低时延、本地 PV | 主机路径或外部挂载存储 | Dynamic Local PV - Hostpath, Dynamic Local PV - Rawfile |
低时延、本地 PV | 本地机械 /SSD/ 云存储卷等块设备 | Dynamic Local PV - Device |
低延迟,本地 PV,快照,克隆 | 本地机械 /SSD/ 云存储卷等块设备 | OpenEBS Dynamic Local PV - ZFS , OpenEBS Dynamic Local PV - LVM |