OpenEBS在默认情况下会部署大量日志服务和一个etcd,在我的使用场景下仅需要一个存储控制器,不需要太多其他玩意。
helm install openebs \
--namespace openebs \
openebs/openebs \
--create-namespace \
--set engines.local.lvm.enabled=false \
--set engines.local.hostpath.enabled=false \
--set engines.local.zfs.enabled=true \
--set engines.replicated.jiva.enabled=false \
--set engines.replicated.mayastor.enabled=false \
--set loki.enabled=false \
--set alloy.enabled=false| 参数 | 组件 | 作用 |
|---|---|---|
engines.replicated.jiva.enabled | Jiva | 用户态分布式块存储,多副本复制 |
engines.replicated.mayastor.enabled | Mayastor | 高性能 NVMe 复制存储引擎 |
loki.enabled | Loki | 日志聚合子系统 |
alloy.enabled | Alloy | 遥测指标/追踪收集器 |
minio.enabled | MinIO | 对象存储,常作为 Loki 后端 |
安装完成后创建StorageClass:
allowVolumeExpansion: true
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
name: openebs-zfspv
parameters:
fstype: zfs
poolname: pool0/openebs-zfspv # 使用的池名称,可以使用子卷
# thinprovision: 'yes' # 是否不要预先从池中扣除空间,"yes"为不预留空间, 默认"yes"
# recordsize: "128k" # 这些参数不设置时,自动继承父卷的设置
# compression: "off"
# dedup: "off"
# 如何计算dataset的大小,仅针对fstype=zfs生效,默认为quota
# - quota: 限制dataset及其所有子项(如快照)的总空间
# - refquota:仅限制dataset自身引用 的空间,快照不计入
# quotatype: "quota"
provisioner: zfs.csi.openebs.io
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer