跳至正文

openebs-localpv安装

增加helm repo

helm repo add openebs https://openebs.github.io/openebs
helm repo update

helm list -n openebs
helm search repo openebs/openebs

给用于openebs的164–167 四台专属虚机打上统一的存储功能标签

for node in node164 node165 node166 node167; do
  kubectl label node $node openebs-storage=enabled --overwrite
done

安装

helm upgrade --install openebs openebs/openebs \
  --namespace openebs \
  --version 4.5.1 \
  --create-namespace \
  --set engines.replicated.mayastor.enabled=false \
  --set engines.local.lvm.enabled=false \
  --set engines.local.zfs.enabled=false \
  --set alloy.enabled=false \
  --set loki.enabled=false \
  --set minio.enabled=false 

其他: 配置并发建立pv的工作线程数参数 –set localpv.kubeController.workerThreads=100 # 🌟 核心参数:设置并发建立/删除 PV 的线程数为 100

建立storageclass配置文件,分为文件和数据库两种storageclass

#cat openebs-storage.yaml
#=====================================================================
#存储类 1:核心有状态/数据库专属盘 (对接 50G 的 /data2,享 Retain 强保护)
#=====================================================================
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: openebs-hostpath-mysql-data2
  annotations:
    openebs.io/cas-type: local        # 声明使用 OpenEBS 原生的 local 引擎
    cas.openebs.io/config: |          # 官网核心语法:使用注解传递 BasePath
      - name: StorageType
        value: hostpath
      - name: BasePath
        value: /data2                  # 精准锁定 50G 的专用数据库高速通道
provisioner: openebs.io/local         # OpenEBS 4.x 统一的本地卷驱动名称
reclaimPolicy: Retain                 # 生产红线:Retain 策略。误删 PVC 时,物理数据绝不 rm -rf
volumeBindingMode: WaitForFirstConsumer # 延迟卷绑定,确保有状态 Pod 节点先决,OpenEBS 再去对应的机器建子目录
allowedTopologies:                    # 🌟 修正语法:K8s 原生只认 matchLabelExpressions 键值对结构
- matchLabelExpressions:
  - key: openebs-storage
    values:
    - "enabled"                        # 只有被打上 openebs-storage=enabled 的节点才能参与调度

---

#=====================================================================
#存储类 2:通用/网关共享盘 (对接 200G 的 /data1,跑 Nginx 等无状态系统)
#=====================================================================
apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: openebs-hostpath-sys-data1
  annotations:
    openebs.io/cas-type: local
    cas.openebs.io/config: |
      - name: StorageType
        value: hostpath
      - name: BasePath
        value: /data1                  # 精准锁定 200G 的通用共享大盘根目录
provisioner: openebs.io/local
reclaimPolicy: Delete                 # 通用系统使用 Delete 策略,下线时自动清空物理子目录,防止垃圾堆积
volumeBindingMode: WaitForFirstConsumer # 保持延迟绑定
allowedTopologies:                    # 🌟 修正语法:共享大盘同样锁死在拥有存储标签的物理机上
- matchLabelExpressions:
  - key: openebs-storage
    values:
    - "enabled"

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

error: Content is protected !!