OpenEBS
1.简介
1.1 什么是OpenEBS
OpenEBS 将 Kubernetes 工作节点可用的任何存储转换为本地或分布式 Kubernetes 持久卷。 OpenEBS 帮助应用程序和平台团队轻松部署需要快速、高度持久、可靠和可扩展的 容器附加存储 的 Kubernetes 有状态工作负载。
OpenEBS 也是基于 NVMe 的存储部署的首选。
OpenEBS 最初由 MayaData 构建并捐赠给云原生计算基金会,现在是一个 CNCF 沙箱项目。
1.2 OpenEBS是做什么的
OpenEBS 管理每个 Kubernetes 节点上可用的存储,并使用该存储为有状态工作负载提供本地或分布式(也称为复制)持久卷。

在本地卷的情况下
- OpenEBS 可以使用原始块设备或分区,或使用主机路径上的子目录,或使用 LVM、ZFS 或稀疏(sparse)文件来创建持久卷。
- 本地卷直接安装到 Stateful Pod 中,数据路径中没有来自 OpenEBS 的任何额外开销,从而减少了延迟。
- OpenEBS 为本地卷提供了额外的工具,用于监控、备份/恢复、灾难恢复、ZFS 或 LVM 支持的快照、基于容量的调度等。
在分布式(又名复制)卷的情况下
- OpenEBS 使用其引擎之一(Mayastor、cStor 或 Jiva)为每个分布式持久卷创建微服务。
- Stateful Pod 将数据写入 OpenEBS 引擎,这些引擎将数据同步复制到集群中的多个节点。 OpenEBS 引擎本身部署为 pod,由 Kubernetes 编排。 当运行有状态 pod 的节点发生故障时,该 pod 将被重新调度到集群中的另一个节点,OpenEBS 使用其他节点上的可用数据副本提供对数据的访问。
- Stateful Pod 使用 iSCSI(cStor 和 Jiva)或 NVMeoF(Mayastor)连接到 OpenEBS 分布式持久卷。
- OpenEBS cStor 和 Jiva 专注于存储的易用性和耐用性。 这些引擎分别使用定制版本的 ZFS 和 Longhorn 技术将数据写入存储。
- OpenEBS Mayastor 是最新的引擎,以耐用性和性能为设计目标而开发; OpenEBS Mayastor 有效地管理计算(hugepages、内核)和存储(NVMe 驱动器)以提供快速的分布式块存储。
2.安装
2.1 添加仓库
helm repo add openebs https://openebs.github.io/charts
helm repo update
2.2 下载包
helm pull openebs/openebs
tar xf openebs-3.5.0.tgz