加入收藏 | 设为首页 | 会员中心 | 我要投稿 云计算网_宿迁站长网 (https://www.0527zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

Kubernetes 云原生存储 OpenEBS 中文使用技巧

发布时间:2022-07-10 08:29:39 所属栏目:Linux 来源:互联网
导读:OpenEBS 是什么? OpenEBS 是 Kubernetes 本地超融合存储解决方案,它管理节点可用的本地存储,并为有状态工作负载提供本地或高可用的分布式持久卷。作为一个完全的 Kubernetes 原生解决方案的另一个优势是,管理员和开发人员可以使用 kubectl、Helm、 Pro
  OpenEBS 是什么?
  
  OpenEBS 是 Kubernetes 本地超融合存储解决方案,它管理节点可用的本地存储,并为有状态工作负载提供本地或高可用的分布式持久卷。作为一个完全的 Kubernetes 原生解决方案的另一个优势是,管理员和开发人员可以使用 kubectl、Helm、 Prometheus、Grafana、Weave Scope 等 Kubernetes 可用的所有优秀工具来交互和管理 OpenEBS。

        OpenEBS 是一种开源云原生存储解决方案,托管于 CNCF 基金会,目前该项目处于沙箱阶段。
 
  OpenEBS 是一组存储引擎,允许您为有状态工作负载 (StatefulSet) 和 Kubernetes 平台类型选择正确的存储解决方案。在高层次上,OpenEBS 支持两大类卷——本地卷和复制卷。
 
  OpenEBS 能做什么?
  
        OpenEBS 管理 k8s 节点上存储,并为 k8s 有状态负载(StatefulSet)提供本地存储卷或分布式存储卷。
 
  本地卷(Local Storage)
  OpenEBS 可以使用宿主机裸块设备或分区,或者使用 Hostpaths 上的子目录,或者使用 LVM、ZFS 来创建持久化卷
  本地卷直接挂载到 Stateful Pod 中,而不需要 OpenEBS 在数据路径中增加任何开销
  OpenEBS 为本地卷提供了额外的工具,用于监控、备份 / 恢复、灾难恢复、由 ZFS 或 LVM 支持的快照等
  对于分布式卷 (即复制卷)
  OpenEBS 使用其中一个引擎 (Mayastor、cStor 或 Jiva) 为每个分布式持久卷创建微服务
  有状态 Pod 将数据写入 OpenEBS 引擎,OpenEBS 引擎将数据同步复制到集群中的多个节点。OpenEBS 引擎本身作为 Pod 部署,并由 Kubernetes 进行协调。当运行 Stateful Pod 的节点失败时,Pod 将被重新调度到集群中的另一个节点,OpenEBS 将使用其他节点上的可用数据副本提供对数据的访问
  有状态的 Pods 使用 iSCSI (cStor 和 Jiva) 或 NVMeoF (Mayastor) 连接 OpenEBS 分布式持久卷
  OpenEBS cStor 和 Jiva 专注于存储的易用性和持久性。它们分别使用自定义版本的 ZFS 和 Longhorn 技术将数据写入存储。OpenEBS Mayastor 是最新开发的以耐久性和性能为设计目标的引擎,高效地管理计算 (大页面、核心) 和存储 (NVMe Drives),以提供快速分布式块存储
     ❝
 
   注意:OpenEBS 分布式块卷被称为复制卷,以避免与传统的分布式块存储混淆,传统的分布式块存储倾向于将数据分布到集群中的许多节点上。复制卷是为云原生有状态工作负载设计的,这些工作负载需要大量的卷,这些卷的容量通常可以从单个节点提供,而不是使用跨集群中的多个节点分片的单个大卷
 
  对比传统分布式存储
  OpenEBS 与其他传统存储解决方案不同的几个关键方面 :
 
  使用微服务体系结构构建,就像它所服务的应用程序一样。OpenEBS 本身作为一组容器部署在 Kubernetes 工作节点上。使用 Kubernetes 本身来编排和管理 OpenEBS 组件
  完全建立在用户空间,使其高度可移植性,以运行在任何操作系统 / 平台。
  完全意图驱动,继承了 Kubernetes 易用性的相同原则
  OpenEBS 支持一系列存储引擎,因此开发人员可以部署适合于其应用程序设计目标的存储技术。像 Cassandra 这样的分布式应用程序可以使用 LocalPV 引擎进行最低延迟的写操作。像 MySQL 和 PostgreSQL 这样的单片应用程序可以使用使用 NVMe 和 SPDK 构建的 Mayastor 或基于 ZFS 的 cStor 来实现弹性。像 Kafka 这样的流媒体应用程序可以在边缘环境中使用 NVMe 引擎 Mayastor 以获得最佳性能。
  驱使用户使用 OpenEBS 的主要原因是 :
 
  在所有的 Kubernetes 发行版上都是可移植的
  提高了开发人员和平台 SRE 的生产力
  与其他解决方案相比,易于使用
  优秀的社区支持
  免费开源
  本地卷类型
 
  本地卷只能从集群中的单个节点访问。必须在提供卷的节点上调度使用 Local Volume 的 Pods。本地卷通常是分布式工作负载的首选,比如 Cassandra、MongoDB、Elastic 等,这些工作负载本质上是分布式的,并且内置了高可用性(分片)
 
  根据附加到 Kubernetes 工作节点上的存储类型,您可以从不同的动态本地 PV 进行选择——Hostpath、Device、LVM、ZFS 或 Rawfile
 
  可复制卷类型
 
  复制卷顾名思义,是指将数据同步复制到多个节点的卷。卷可以支持节点故障。还可以跨可用性区域设置复制,以帮助应用程序跨可用性区域移动。
 
  复制卷还能够提供像快照、克隆、卷扩展等企业存储特性。复制卷是有状态工作负载 (如 Percona/MySQL、Jira、GitLab 等) 的首选。
 
  根据附加到 Kubernetes 工作节点的存储类型和应用程序性能需求,您可以从 Jiva、cStor 或 Mayastor 中进行选择
 
  OpenEBS 存储引擎建议
  应用需求
 
  存储类型
 
  OpenEBS 卷类型
 
  低时延、高可用性、同步复制、快照、克隆、精简配置
 
  SSD/ 云存储卷
 
  OpenEBS Mayastor
 
  高可用性、同步复制、快照、克隆、精简配置
 
  主机路径或外部挂载存储
 
  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

  机械 /SSD/ 云存储卷
 
  OpenEBS cStor
 
  高可用性、同步复制、精简配置
 
  主机路径或外部挂载存储
 
  OpenEBS Jiva
 
  低时延、本地 PV

  总结:
 
  多机环境,如果有额外的块设备(非系统盘块设备)作为数据盘,选用 OpenEBS Mayastor、OpenEBS cStor
  多机环境,如果没有额外的块设备(非系统盘块设备)作为数据盘,仅单块系统盘块设备,选用 OpenEBS Jiva
  单机环境,建议本地路径 Dynamic Local PV - Hostpath, Dynamic Local PV - Rawfile,由于单机多用于测试环境,数据可靠性要求较低。

(编辑:云计算网_宿迁站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!