GitHub:https://github.com/openebs/openebs
官方地址:https://openebs.io/

安装

使用 helm 安装

  1. helm repo add openebs https://openebs.github.io/charts
  2. helm repo update
  3. helm install openebs --namespace openebs openebs/openebs --create-namespace

使用 kubectl 安装

  1. kubectl apply -f https://openebs.github.io/charts/openebs-operator.yaml

如何设置和使用 OpenEBS?

OpenEBS 无缝集成到 Kubernetes 管理员和用户围绕 Kubernetes 拥有的整体工作流工具中。
OpenEBS 工作流非常适合 Kubernetes 引入的协调模式,为声明式存储控制平面铺平了道路,如下所示:

control-plane-overview.svg

一、Kubernetes集群设计

作为 Kubernetes 集群管理员,您必须与平台或基础设施团队合作,共同研究 Kubernetes 工作节点的组成,如 RAM、CPU、网络和连接到工作节点的存储设备。Kubernetes 节点可用资源决定了用于有状态工作负载的 OpenEBS 引擎。
作为 Kubernetes 集群管理员或平台 SRE,您必须决定哪种部署策略最适合您——要么使用超融合模式,其中有状态应用程序和存储卷位于同一位置,要么在不同的节点池上运行有状态应用程序和存储。
要安装 OpenEBS,您的 Kubernetes 集群应满足以下条件:

  • 建议使用 Kubernetes 1.18 或更高版本。
  • 根据选择的数据引擎,节点应该准备额外的包,例如:
    • 安装 ext4、xfs、nfs、lvm、zfs 或 iscsi、nvme 包。
    • 准备设备以供数据引擎使用,例如 - 确保没有安装文件系统,或者通过创建 LVM 卷组或 ZFS 池或根据需要对驱动器进行分区。
  • 根据您使用的是上游 Kubernetes 集群还是使用托管的 Kubernetes 集群(如 AKS、Rancher、OpenShift、GKE),可能需要额外的步骤。

操作系统要求

请通读Kubernetes 平台先决条件的相关部分,即工作节点的操作系统。
https://docs.openebs.io/docs/next/prerequisites.html

CentOS

  1. yum install iscsi-initiator-utils -y
  2. cat /etc/iscsi/initiatorname.iscsi
  3. systemctl status iscsid
  4. sudo systemctl enable --now iscsid

Ubuntu

  1. sudo apt-get update
  2. sudo apt-get install open-iscsi
  3. sudo systemctl enable --now iscsid

查看安装结果

  1. kubectl get pods -n openebs
  2. NAME READY STATUS RESTARTS AGE
  3. maya-apiserver-6c9bf748cb-62mjk 1/1 Running 0 55m
  4. openebs-admission-server-7b86995d9d-xg57l 1/1 Running 0 55m
  5. openebs-localpv-provisioner-668b5b4b46-qwtbr 1/1 Running 0 55m
  6. openebs-ndm-mj7fk 1/1 Running 0 55m
  7. openebs-ndm-operator-7c556d88d5-g8ljf 1/1 Running 0 55m
  8. openebs-ndm-zv2zk 1/1 Running 0 55m
  9. openebs-provisioner-5c567b9998-wt7rl 1/1 Running 0 55m
  10. openebs-snapshot-operator-f996948c-rw6fl 2/2 Running 0 55m

查看创建的storage classes,openebs提供了4种类型storageclass:

  1. kubectl get sc
  2. NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
  3. openebs-device openebs.io/local Delete WaitForFirstConsumer false 55m
  4. openebs-hostpath openebs.io/local Delete WaitForFirstConsumer false 55m
  5. openebs-jiva-default openebs.io/provisioner-iscsi Delete Immediate false 55m
  6. openebs-snapshot-promoter volumesnapshot.external-storage.k8s.io/snapshot-promoter Delete Immediate false 55m

参考

https://toutiao.io/posts/skodqiu/preview