GitHub:https://github.com/openebs/openebs
官方地址:https://openebs.io/
安装
使用 helm 安装
helm repo add openebs https://openebs.github.io/charts
helm repo update
helm install openebs --namespace openebs openebs/openebs --create-namespace
使用 kubectl 安装
kubectl apply -f https://openebs.github.io/charts/openebs-operator.yaml
如何设置和使用 OpenEBS?
OpenEBS 无缝集成到 Kubernetes 管理员和用户围绕 Kubernetes 拥有的整体工作流工具中。
OpenEBS 工作流非常适合 Kubernetes 引入的协调模式,为声明式存储控制平面铺平了道路,如下所示:
一、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
yum install iscsi-initiator-utils -y
cat /etc/iscsi/initiatorname.iscsi
systemctl status iscsid
sudo systemctl enable --now iscsid
Ubuntu
sudo apt-get update
sudo apt-get install open-iscsi
sudo systemctl enable --now iscsid
查看安装结果
kubectl get pods -n openebs
NAME READY STATUS RESTARTS AGE
maya-apiserver-6c9bf748cb-62mjk 1/1 Running 0 55m
openebs-admission-server-7b86995d9d-xg57l 1/1 Running 0 55m
openebs-localpv-provisioner-668b5b4b46-qwtbr 1/1 Running 0 55m
openebs-ndm-mj7fk 1/1 Running 0 55m
openebs-ndm-operator-7c556d88d5-g8ljf 1/1 Running 0 55m
openebs-ndm-zv2zk 1/1 Running 0 55m
openebs-provisioner-5c567b9998-wt7rl 1/1 Running 0 55m
openebs-snapshot-operator-f996948c-rw6fl 2/2 Running 0 55m
查看创建的storage classes,openebs提供了4种类型storageclass:
kubectl get sc
NAME PROVISIONER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE
openebs-device openebs.io/local Delete WaitForFirstConsumer false 55m
openebs-hostpath openebs.io/local Delete WaitForFirstConsumer false 55m
openebs-jiva-default openebs.io/provisioner-iscsi Delete Immediate false 55m
openebs-snapshot-promoter volumesnapshot.external-storage.k8s.io/snapshot-promoter Delete Immediate false 55m